本文整理汇总了C++中NOTICE函数的典型用法代码示例。如果您正苦于以下问题:C++ NOTICE函数的具体用法?C++ NOTICE怎么用?C++ NOTICE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NOTICE函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: conn_handle_ports
static int conn_handle_ports (uint16_t port_local, uint16_t port_remote, uint8_t state)
{
port_entry_t *pe = NULL;
if ((state > TCP_STATE_MAX)
#if TCP_STATE_MIN > 0
|| (state < TCP_STATE_MIN)
#endif
)
{
NOTICE ("tcpconns plugin: Ignoring connection with "
"unknown state 0x%02"PRIx8".", state);
return (-1);
}
count_total[state]++;
/* Listening sockets */
if ((state == TCP_STATE_LISTEN) && (port_collect_listening != 0))
{
pe = conn_get_port_entry (port_local, 1 /* create */);
if (pe != NULL)
pe->flags |= PORT_IS_LISTENING;
}
DEBUG ("tcpconns plugin: Connection %"PRIu16" <-> %"PRIu16" (%s)",
port_local, port_remote, tcp_state[state]);
pe = conn_get_port_entry (port_local, 0 /* no create */);
if (pe != NULL)
pe->count_local[state]++;
pe = conn_get_port_entry (port_remote, 0 /* no create */);
if (pe != NULL)
pe->count_remote[state]++;
return (0);
} /* int conn_handle_ports */
开发者ID:Whissi,项目名称:collectd,代码行数:38,代码来源:tcpconns.c
示例2: rt2x00lib_suspend
int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state)
{
NOTICE(rt2x00dev, "Going to sleep.\n");
/*
* Prevent mac80211 from accessing driver while suspended.
*/
if (!test_and_clear_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
return 0;
/*
* Cleanup as much as possible.
*/
rt2x00lib_uninitialize(rt2x00dev);
/*
* Suspend/disable extra components.
*/
rt2x00leds_suspend(rt2x00dev);
rt2x00debug_deregister(rt2x00dev);
/*
* Set device mode to sleep for power management,
* on some hardware this call seems to consistently fail.
* From the specifications it is hard to tell why it fails,
* and if this is a "bad thing".
* Overall it is safe to just ignore the failure and
* continue suspending. The only downside is that the
* device will not be in optimal power save mode, but with
* the radio and the other components already disabled the
* device is as good as disabled.
*/
if (rt2x00dev->ops->lib->set_device_state(rt2x00dev, STATE_SLEEP))
WARNING(rt2x00dev, "Device failed to enter sleep state, "
"continue suspending.\n");
return 0;
}
开发者ID:Atrix-Dev-Team,项目名称:kernel-MB860,代码行数:38,代码来源:rt2x00dev.c
示例3: daemonize
/*----------------------------------------------------------
| daemonize
| set the process in background
+--------------------------------------------------------- */
static void daemonize(struct afb_config *config)
{
int consoleFD;
int pid;
// open /dev/console to redirect output messAFBes
consoleFD = open(config->console, O_WRONLY | O_APPEND | O_CREAT , 0640);
if (consoleFD < 0) {
ERROR("AFB-daemon cannot open /dev/console (use --foreground)");
exit (1);
}
// fork process when running background mode
pid = fork ();
// if fail nothing much to do
if (pid == -1) {
ERROR("AFB-daemon Failed to fork son process");
exit (1);
}
// if in father process, just leave
if (pid != 0) _exit (0);
// son process get all data in standalone mode
NOTICE("background mode [pid:%d console:%s]", getpid(),config->console);
// redirect default I/O on console
close (2); dup(consoleFD); // redirect stderr
close (1); dup(consoleFD); // redirect stdout
close (0); // no need for stdin
close (consoleFD);
#if 0
setsid(); // allow father process to fully exit
sleep (2); // allow main to leave and release port
#endif
}
开发者ID:Tarnyko,项目名称:afb-daemon,代码行数:42,代码来源:main.c
示例4: rt2400pci_set_state
static int rt2400pci_set_state(struct rt2x00_dev *rt2x00dev,
enum dev_state state)
{
u32 reg;
unsigned int i;
char put_to_sleep;
char bbp_state;
char rf_state;
put_to_sleep = (state != STATE_AWAKE);
rt2x00pci_register_read(rt2x00dev, PWRCSR1, ®);
rt2x00_set_field32(®, PWRCSR1_SET_STATE, 1);
rt2x00_set_field32(®, PWRCSR1_BBP_DESIRE_STATE, state);
rt2x00_set_field32(®, PWRCSR1_RF_DESIRE_STATE, state);
rt2x00_set_field32(®, PWRCSR1_PUT_TO_SLEEP, put_to_sleep);
rt2x00pci_register_write(rt2x00dev, PWRCSR1, reg);
/*
* Device is not guaranteed to be in the requested state yet.
* We must wait until the register indicates that the
* device has entered the correct state.
*/
for (i = 0; i < REGISTER_BUSY_COUNT; i++) {
rt2x00pci_register_read(rt2x00dev, PWRCSR1, ®);
bbp_state = rt2x00_get_field32(reg, PWRCSR1_BBP_CURR_STATE);
rf_state = rt2x00_get_field32(reg, PWRCSR1_RF_CURR_STATE);
if (bbp_state == state && rf_state == state)
return 0;
msleep(10);
}
NOTICE(rt2x00dev, "Device failed to enter state %d, "
"current device state: bbp %d and rf %d.\n",
state, bbp_state, rf_state);
return -EBUSY;
}
开发者ID:maraz,项目名称:linux-2.6,代码行数:38,代码来源:rt2400pci.c
示例5: trusty_generic_platform_smc
static uintptr_t trusty_generic_platform_smc(uint32_t smc_fid,
u_register_t x1,
u_register_t x2,
u_register_t x3,
u_register_t x4,
void *cookie,
void *handle,
u_register_t flags)
{
switch (smc_fid) {
case SMC_FC_DEBUG_PUTC:
trusty_dputc(x1, is_caller_secure(flags));
SMC_RET1(handle, 0);
case SMC_FC_GET_REG_BASE:
case SMC_FC64_GET_REG_BASE:
SMC_RET1(handle, trusty_get_reg_base(x1));
default:
NOTICE("%s(0x%x, 0x%lx) unknown smc\n", __func__, smc_fid, x1);
SMC_RET1(handle, SMC_UNK);
}
}
开发者ID:ruchi393,项目名称:arm-trusted-firmware,代码行数:23,代码来源:generic-arm64-smcall.c
示例6: init_container_store
void init_container_store() {
sds containerfile = sdsdup(destor.working_directory);
containerfile = sdscat(containerfile, "/container.pool");
if ((fp = fopen(containerfile, "r+"))) {
fread(&container_count, 8, 1, fp);
} else if (!(fp = fopen(containerfile, "w+"))) {
perror(
"Can not create container.pool for read and write because");
exit(1);
}
sdsfree(containerfile);
container_buffer = sync_queue_new(25);
pthread_mutex_init(&mutex, NULL);
pthread_create(&append_t, NULL, append_thread, NULL);
NOTICE("Init container store successfully");
}
开发者ID:theopengroup,项目名称:destor,代码行数:23,代码来源:containerstore.c
示例7: sigfillset
void VoxPlayer::run()
{
sigset_t mask;
sigfillset(&mask);
pthread_sigmask(SIG_BLOCK, &mask, NULL);
INFORMATION("(PLAY) start of loop");
while(!g_main.isExit())
{
if(!m_playpath.empty())
{
std::string path = m_playpath;
NOTICE("(PLAY) async play '%s'", path.c_str());
aoplay(path);
m_playpath = "";
}
delay(100);
}
INFORMATION("(PLAY) end of loop");
}
开发者ID:coolpds,项目名称:voxel,代码行数:23,代码来源:vox_player.cpp
示例8: sunaudio_init
int sunaudio_init(audiodevice_t *dev, char *devaudio, char *devaudioctl) {
audio_sun_t *asun;
asun = g_new0(audio_sun_t, 1);
asun->fd = -1;
asun->dev = (devaudio == NULL ? "/dev/audio" : devaudio);
mixer_init(dev, devaudioctl);
dev->data_pcm = asun;
dev->id = AUDIO_PCM_SUN;
dev->fd = -1;
dev->open = audio_open;
dev->close = audio_close;
dev->write = audio_write;
dev->mix_set = mixer_set_level;
dev->mix_get = mixer_get_level;
dev->exit = sunaudio_exit;
NOTICE("SUN audio Initilize OK\n");
return OK;
}
开发者ID:kichikuou,项目名称:xsystem35-nacl,代码行数:23,代码来源:audio_sun.c
示例9: apache_header_callback
static size_t apache_header_callback (void *buf, size_t size, size_t nmemb,
void *user_data)
{
size_t len = size * nmemb;
apache_t *st;
st = user_data;
if (st == NULL)
{
ERROR ("apache plugin: apache_header_callback: "
"user_data pointer is NULL.");
return (0);
}
if (len <= 0)
return (len);
/* look for the Server header */
if (strncasecmp (buf, "Server: ", strlen ("Server: ")) != 0)
return (len);
if (strstr (buf, "Apache") != NULL)
st->server_type = APACHE;
else if (strstr (buf, "lighttpd") != NULL)
st->server_type = LIGHTTPD;
else if (strstr (buf, "IBM_HTTP_Server") != NULL)
st->server_type = APACHE;
else
{
const char *hdr = buf;
hdr += strlen ("Server: ");
NOTICE ("apache plugin: Unknown server software: %s", hdr);
}
return (len);
} /* apache_header_callback */
开发者ID:AsherBond,项目名称:collectd,代码行数:37,代码来源:apache.c
示例10: cj_cb_string
static int cj_cb_string (void *ctx, const unsigned char *val,
unsigned int len)
{
cj_t *db = (cj_t *)ctx;
char str[len + 1];
/* Create a null-terminated version of the string. */
memcpy (str, val, len);
str[len] = 0;
/* No configuration for this string -> simply return. */
if (db->state[db->depth].key == NULL)
return (CJ_CB_CONTINUE);
if (!CJ_IS_KEY (db->state[db->depth].key))
{
NOTICE ("curl_json plugin: Found string \"%s\", but the configuration "
"expects a map here.", str);
return (CJ_CB_CONTINUE);
}
/* Handle the string as if it was a number. */
return (cj_cb_number (ctx, (const char *) val, len));
} /* int cj_cb_string */
开发者ID:gnosek,项目名称:collectd,代码行数:24,代码来源:curl_json.c
示例11: selinux_initialize
static void selinux_initialize(bool in_kernel_domain) {
Timer t;
selinux_callback cb;
cb.func_log = selinux_klog_callback;
selinux_set_callback(SELINUX_CB_LOG, cb);
cb.func_audit = audit_callback;
selinux_set_callback(SELINUX_CB_AUDIT, cb);
if (in_kernel_domain) {
INFO("Loading SELinux policy...\n");
if (selinux_android_load_policy() < 0) {
ERROR("failed to load policy: %s\n", strerror(errno));
security_failure();
}
bool kernel_enforcing = (security_getenforce() == 1);
bool is_enforcing = selinux_is_enforcing();
if (kernel_enforcing != is_enforcing) {
if (security_setenforce(is_enforcing)) {
ERROR("security_setenforce(%s) failed: %s\n",
is_enforcing ? "true" : "false", strerror(errno));
security_failure();
}
}
if (write_file("/sys/fs/selinux/checkreqprot", "0") == -1) {
security_failure();
}
NOTICE("(Initializing SELinux %s took %.2fs.)\n",
is_enforcing ? "enforcing" : "non-enforcing", t.duration());
} else {
selinux_init_all_handles();
}
}
开发者ID:ArtBears,项目名称:platform_system_core,代码行数:36,代码来源:init.cpp
示例12: while
CoreServer::Result CoreServer::test()
{
#ifdef INTEL
if (m_info.coreId != 0)
{
FileSystemMessage msg;
msg.type = ChannelMessage::Request;
msg.action = StatFile;
msg.path = (char *)0x12345678;
msg.size = m_info.coreId;
m_toMaster->write(&msg);
}
else
{
FileSystemMessage msg;
Size numCores = m_cores->getCores().count();
for (Size i = 1; i < numCores; i++)
{
MemoryChannel *ch = (MemoryChannel *) m_fromSlave->get(i);
if (!ch)
return IOError;
// TODO: replace with ChannelClient::syncReceiveFrom
while (ch->read(&msg) != Channel::Success);
if (msg.action == StatFile)
{
NOTICE("core" << i << " send a Ping");
}
}
}
#endif /* INTEL */
return Success;
}
开发者ID:Alexis97,项目名称:FreeNOS,代码行数:36,代码来源:CoreServer.cpp
示例13: apcups_config
static int apcups_config (oconfig_item_t *ci)
{
int i;
_Bool persistent_conn_set = 0;
for (i = 0; i < ci->children_num; i++)
{
oconfig_item_t *child = ci->children + i;
if (strcasecmp (child->key, "Host") == 0)
cf_util_get_string (child, &conf_node);
else if (strcasecmp (child->key, "Port") == 0)
cf_util_get_service (child, &conf_service);
else if (strcasecmp (child->key, "ReportSeconds") == 0)
cf_util_get_boolean (child, &conf_report_seconds);
else if (strcasecmp (child->key, "PersistentConnection") == 0) {
cf_util_get_boolean (child, &conf_persistent_conn);
persistent_conn_set = 1;
}
else
ERROR ("apcups plugin: Unknown config option \"%s\".", child->key);
}
if (!persistent_conn_set) {
double interval = CDTIME_T_TO_DOUBLE(plugin_get_interval());
if (interval > APCUPS_SERVER_TIMEOUT) {
NOTICE ("apcups plugin: Plugin poll interval set to %.3f seconds. "
"Apcupsd NIS socket timeout is %.3f seconds, "
"PersistentConnection disabled by default.",
interval, APCUPS_SERVER_TIMEOUT);
conf_persistent_conn = 0;
}
}
return (0);
} /* int apcups_config */
开发者ID:strizhechenko,项目名称:collectd,代码行数:36,代码来源:apcups.c
示例14: while
AM_ERR CTsHttpWriter::ServerThreadLoop ()
{
CURLcode res;
double uploadSpeed, totalTime;
char readFileName[MAX_FILE_NAME_LEN];
mbRun = true;
while (mbCurlRun) {
if (mUploadIndex >= (mFileCounter - 1)) {
/* Latest file has not been written completed. */
mpWaitCond->Wait (mpMutex);
}
snprintf (readFileName, sizeof (readFileName),
"/tmp/ts_file_%d.ts", mUploadIndex ++);
/* Open latest file to prepare reading. */
if ((mUploadFile = open (readFileName, O_RDONLY)) < 0) {
ERROR ("Failed to open %s: %s",
readFileName,
strerror (errno));
mpOwner->PostEngineMsg (IEngine::MSG_ERROR);
mbCurlRun = false;
return ME_ERROR;
}
if ((res = curl_easy_perform (mpCurlHandle)) != CURLE_OK) {
mbCurlRun = false;
ERROR ("curl_easy_perform error: %d\n", res);
if ((res == CURLE_COULDNT_RESOLVE_HOST) ||
(res == CURLE_COULDNT_CONNECT)) {
ERROR ("Cann't connect to %s!", mpDestURL);
mpOwner->PostEngineMsg (IEngine::MSG_ERROR);
} else {
NOTICE ("Recording will restart!");
mpOwner->PostEngineMsg (IEngine::MSG_OVFL);
}
close(mUploadFile);
mUploadFile = -1;
return ME_ERROR;
}
/* Now, extract transfer info */
curl_easy_getinfo (mpCurlHandle, CURLINFO_SPEED_UPLOAD, &uploadSpeed);
curl_easy_getinfo (mpCurlHandle, CURLINFO_TOTAL_TIME, &totalTime);
NOTICE ("\nSize: %.3f bytes/sec during %.3f seconds\n\n",
uploadSpeed, totalTime);
close (mUploadFile);
mUploadFile = -1;
if (remove (readFileName) < 0) {
ERROR ("Failed to remove %s: %s",
readFileName,
strerror (errno));
}
if (totalTime >= (double)(CURL_TRANSFER_TIMEOUT)) {
NOTICE ("Network is not good!");
mbCurlRun = false;
mpOwner->PostEngineMsg (IEngine::MSG_OVFL);
return ME_ERROR;
}
if (!mbRun) {
break;
}
}
INFO ("Curl thread exit mainloop");
return ME_OK;
}
开发者ID:ShawnOfMisfit,项目名称:ambarella,代码行数:74,代码来源:ts_http_writer.cpp
示例15: init
static int init (void)
{
#if PROCESSOR_CPU_LOAD_INFO
kern_return_t status;
port_host = mach_host_self ();
/* FIXME: Free `cpu_list' if it's not NULL */
if ((status = host_processors (port_host, &cpu_list, &cpu_list_len)) != KERN_SUCCESS)
{
ERROR ("cpu plugin: host_processors returned %i", (int) status);
cpu_list_len = 0;
return (-1);
}
DEBUG ("host_processors returned %i %s", (int) cpu_list_len, cpu_list_len == 1 ? "processor" : "processors");
INFO ("cpu plugin: Found %i processor%s.", (int) cpu_list_len, cpu_list_len == 1 ? "" : "s");
/* #endif PROCESSOR_CPU_LOAD_INFO */
#elif defined(HAVE_LIBKSTAT)
kstat_t *ksp_chain;
numcpu = 0;
if (kc == NULL)
return (-1);
/* Solaris doesn't count linear.. *sigh* */
for (numcpu = 0, ksp_chain = kc->kc_chain;
(numcpu < MAX_NUMCPU) && (ksp_chain != NULL);
ksp_chain = ksp_chain->ks_next)
if (strncmp (ksp_chain->ks_module, "cpu_stat", 8) == 0)
ksp[numcpu++] = ksp_chain;
/* #endif HAVE_LIBKSTAT */
#elif CAN_USE_SYSCTL
size_t numcpu_size;
int mib[2] = {CTL_HW, HW_NCPU};
int status;
numcpu = 0;
numcpu_size = sizeof (numcpu);
status = sysctl (mib, STATIC_ARRAY_SIZE (mib),
&numcpu, &numcpu_size, NULL, 0);
if (status == -1)
{
char errbuf[1024];
WARNING ("cpu plugin: sysctl: %s",
sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
/* #endif CAN_USE_SYSCTL */
#elif defined (HAVE_SYSCTLBYNAME)
size_t numcpu_size;
numcpu_size = sizeof (numcpu);
if (sysctlbyname ("hw.ncpu", &numcpu, &numcpu_size, NULL, 0) < 0)
{
char errbuf[1024];
WARNING ("cpu plugin: sysctlbyname(hw.ncpu): %s",
sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
#ifdef HAVE_SYSCTL_KERN_CP_TIMES
numcpu_size = sizeof (maxcpu);
if (sysctlbyname("kern.smp.maxcpus", &maxcpu, &numcpu_size, NULL, 0) < 0)
{
char errbuf[1024];
WARNING ("cpu plugin: sysctlbyname(kern.smp.maxcpus): %s",
sstrerror (errno, errbuf, sizeof (errbuf)));
return (-1);
}
#else
if (numcpu != 1)
NOTICE ("cpu: Only one processor supported when using `sysctlbyname' (found %i)", numcpu);
#endif
/* #endif HAVE_SYSCTLBYNAME */
#elif defined(HAVE_LIBSTATGRAB)
/* nothing to initialize */
/* #endif HAVE_LIBSTATGRAB */
#elif defined(HAVE_PERFSTAT)
/* nothing to initialize */
#endif /* HAVE_PERFSTAT */
return (0);
} /* int init */
开发者ID:Chronial,项目名称:collectd,代码行数:93,代码来源:cpu.c
示例16: camqp_read_body
/*
* Subscribing code
*/
static int camqp_read_body (camqp_config_t *conf, /* {{{ */
size_t body_size, const char *content_type)
{
char body[body_size + 1];
char *body_ptr;
size_t received;
amqp_frame_t frame;
int status;
memset (body, 0, sizeof (body));
body_ptr = &body[0];
received = 0;
while (received < body_size)
{
status = amqp_simple_wait_frame (conf->connection, &frame);
if (status < 0)
{
char errbuf[1024];
status = (-1) * status;
ERROR ("amqp plugin: amqp_simple_wait_frame failed: %s",
sstrerror (status, errbuf, sizeof (errbuf)));
camqp_close_connection (conf);
return (status);
}
if (frame.frame_type != AMQP_FRAME_BODY)
{
NOTICE ("amqp plugin: Unexpected frame type: %#"PRIx8,
frame.frame_type);
return (-1);
}
if ((body_size - received) < frame.payload.body_fragment.len)
{
WARNING ("amqp plugin: Body is larger than indicated by header.");
return (-1);
}
memcpy (body_ptr, frame.payload.body_fragment.bytes,
frame.payload.body_fragment.len);
body_ptr += frame.payload.body_fragment.len;
received += frame.payload.body_fragment.len;
} /* while (received < body_size) */
if (strcasecmp ("text/collectd", content_type) == 0)
{
status = handle_putval (stderr, body);
if (status != 0)
ERROR ("amqp plugin: handle_putval failed with status %i.",
status);
return (status);
}
else if (strcasecmp ("application/json", content_type) == 0)
{
ERROR ("amqp plugin: camqp_read_body: Parsing JSON data has not "
"been implemented yet. FIXME!");
return (0);
}
else
{
ERROR ("amqp plugin: camqp_read_body: Unknown content type \"%s\".",
content_type);
return (EINVAL);
}
/* not reached */
return (0);
} /* }}} int camqp_read_body */
开发者ID:hume-github,项目名称:collectd,代码行数:72,代码来源:amqp.c
示例17: DrawPict
void DrawPict(SDL_Surface *screen, char *bmpfile,
int speedy, int flip, int nofade)
{
SDL_Surface *picture;
SDL_Rect dest, update;
int i, centered;
int ncolors;
SDL_Color *colors, *cmap;
/* Load the image into a surface */
if ( bmpfile == NULL ) {
bmpfile = "sample.bmp"; /* Sample image */
}
fprintf(stderr, "Loading picture: %s\n", bmpfile);
picture = SDL_LoadBMP(bmpfile);
if ( picture == NULL ) {
fprintf(stderr, "Couldn't load %s: %s\n", bmpfile,
SDL_GetError());
return;
}
/* Set the display colors -- on a hicolor display this is a no-op */
if ( picture->format->palette ) {
ncolors = picture->format->palette->ncolors;
colors = (SDL_Color *)malloc(ncolors*sizeof(SDL_Color));
cmap = (SDL_Color *)malloc(ncolors*sizeof(SDL_Color));
memcpy(colors, picture->format->palette->colors,
ncolors*sizeof(SDL_Color));
} else {
int r, g, b;
/* Allocate 256 color palette */
ncolors = 256;
colors = (SDL_Color *)malloc(ncolors*sizeof(SDL_Color));
cmap = (SDL_Color *)malloc(ncolors*sizeof(SDL_Color));
/* Set a 3,3,2 color cube */
for ( r=0; r<8; ++r ) {
for ( g=0; g<8; ++g ) {
for ( b=0; b<4; ++b ) {
i = ((r<<5)|(g<<2)|b);
colors[i].r = r<<5;
colors[i].g = g<<5;
colors[i].b = b<<6;
}
}
}
}
NOTICE("testwin: setting colors\n");
if ( ! SDL_SetColors(screen, colors, 0, ncolors) &&
(screen->format->palette != NULL) ) {
fprintf(stderr,
"Warning: Couldn't set all of the colors, but SDL will map the image\n"
" (colormap fading will suffer - try the -warp option)\n"
);
}
/* Set the screen to black (not really necessary) */
if ( SDL_LockSurface(screen) == 0 ) {
Uint32 black;
Uint8 *pixels;
black = SDL_MapRGB(screen->format, 0, 0, 0);
pixels = (Uint8 *)screen->pixels;
for ( i=0; i<screen->h; ++i ) {
memset(pixels, black,
screen->w*screen->format->BytesPerPixel);
pixels += screen->pitch;
}
SDL_UnlockSurface(screen);
SDL_UpdateRect(screen, 0, 0, 0, 0);
}
/* Display the picture */
if ( speedy ) {
SDL_Surface *displayfmt;
fprintf(stderr, "Converting picture\n");
displayfmt = SDL_DisplayFormat(picture);
if ( displayfmt == NULL ) {
fprintf(stderr,
"Couldn't convert image: %s\n", SDL_GetError());
goto done;
}
SDL_FreeSurface(picture);
picture = displayfmt;
}
printf("(image surface located in %s memory)\n",
(picture->flags&SDL_HWSURFACE) ? "video" : "system");
centered = (screen->w - picture->w)/2;
if ( centered < 0 ) {
centered = 0;
}
dest.y = (screen->h - picture->h)/2;
dest.w = picture->w;
dest.h = picture->h;
NOTICE("testwin: moving image\n");
for ( i=0; i<=centered; ++i ) {
dest.x = i;
update = dest;
//.........这里部分代码省略.........
开发者ID:borman,项目名称:sdl-qtopia,代码行数:101,代码来源:testwin.c
示例18: main
int main(int argc, char *argv[])
{
int ret,pipefd;
char *lxcpath = argv[1];
char logpath[PATH_MAX];
sigset_t mask;
if (argc != 3) {
fprintf(stderr,
"Usage: lxc-monitord lxcpath sync-pipe-fd\n\n"
"NOTE: lxc-monitord is intended for use by lxc internally\n"
" and does not need to be run by hand\n\n");
exit(EXIT_FAILURE);
}
ret = snprintf(logpath, sizeof(logpath), "%s/lxc-monitord.log",
lxcpath);
if (ret < 0 || ret >= sizeof(logpath))
return EXIT_FAILURE;
ret = lxc_log_init(NULL, logpath, "NOTICE", "lxc-monitord", 0, lxcpath);
if (ret)
INFO("Failed to open log file %s, log will be lost", lxcpath);
pipefd = atoi(argv[2]);
if (sigfillset(&mask) ||
sigdelset(&mask, SIGILL) ||
sigdelset(&mask, SIGSEGV) ||
sigdelset(&mask, SIGBUS) ||
sigdelset(&mask, SIGTERM) ||
sigprocmask(SIG_BLOCK, &mask, NULL)) {
SYSERROR("failed to set signal mask");
return -1;
}
signal(SIGILL, lxc_monitord_sig_handler);
signal(SIGSEGV, lxc_monitord_sig_handler);
signal(SIGBUS, lxc_monitord_sig_handler);
signal(SIGTERM, lxc_monitord_sig_handler);
ret = EXIT_FAILURE;
memset(&mon, 0, sizeof(mon));
mon.lxcpath = lxcpath;
if (lxc_mainloop_open(&mon.descr)) {
ERROR("failed to create mainloop");
goto out;
}
if (lxc_monitord_create(&mon)) {
goto out;
}
/* sync with parent, we're ignoring the return from write
* because regardless if it works or not, the following
* close will sync us with the parent process. the
* if-empty-statement construct is to quiet the
* warn-unused-result warning.
*/
if (write(pipefd, "S", 1)) ;
close(pipefd);
if (lxc_monitord_mainloop_add(&mon)) {
ERROR("failed to add mainloop handlers");
goto out;
}
NOTICE("monitoring lxcpath %s", mon.lxcpath);
for(;;) {
ret = lxc_mainloop(&mon.descr, 1000 * 30);
if (mon.clientfds_cnt <= 0)
{
NOTICE("no clients for 30 seconds, exiting");
break;
}
}
lxc_mainloop_close(&mon.descr);
lxc_monitord_cleanup();
ret = EXIT_SUCCESS;
NOTICE("monitor exiting");
out:
return ret;
}
开发者ID:ArikaChen,项目名称:lxc,代码行数:84,代码来源:lxc_monitord.c
示例19: execute_post_start
static int execute_post_start(struct lxc_handler *handler, void* data)
{
struct execute_args *my_args = data;
NOTICE("'%s' started with pid '%d'", my_args->argv[0], handler->pid);
return 0;
}
开发者ID:ArikaChen,项目名称:lxc,代码行数:6,代码来源:execute.c
示例20: service_start
void service_start(struct service *svc, const char *dynamic_args)
{
struct stat s;
pid_t pid;
int needs_console;
int n;
#ifdef HAVE_SELINUX
char *scon = NULL;
int rc;
#endif
/* starting a service removes it from the disabled or reset
* state and immediately takes it out of the restarting
* state if it was in there
*/
svc->flags &= (~(SVC_DISABLED|SVC_RESTARTING|SVC_RESET));
svc->time_started = 0;
/* running processes require no additional work -- if
* they're in the process of exiting, we've ensured
* that they will immediately restart on exit, unless
* they are ONESHOT
*/
if (svc->flags & SVC_RUNNING) {
return;
}
needs_console = (svc->flags & SVC_CONSOLE) ? 1 : 0;
if (needs_console && (!have_console)) {
ERROR("service '%s' requires console\n", svc->name);
svc->flags |= SVC_DISABLED;
return;
}
if (stat(svc->args[0], &s) != 0) {
ERROR("cannot find '%s', disabling '%s'\n", svc->args[0], svc->name);
svc->flags |= SVC_DISABLED;
return;
}
if ((!(svc->flags & SVC_ONESHOT)) && dynamic_args) {
ERROR("service '%s' must be one-shot to use dynamic args, disabling\n",
svc->args[0]);
svc->flags |= SVC_DISABLED;
return;
}
#ifdef HAVE_SELINUX
if (is_selinux_enabled() > 0) {
char *mycon = NULL, *fcon = NULL;
INFO("computing context for service '%s'\n", svc->args[0]);
rc = getcon(&mycon);
if (rc < 0) {
ERROR("could not get context while starting '%s'\n", svc->name);
return;
}
rc = getfilecon(svc->args[0], &fcon);
if (rc < 0) {
ERROR("could not get context while starting '%s'\n", svc->name);
freecon(mycon);
return;
}
rc = security_compute_create(mycon, fcon, string_to_security_class("process"), &scon);
freecon(mycon);
freecon(fcon);
if (rc < 0) {
ERROR("could not get context while starting '%s'\n", svc->name);
return;
}
}
#endif
NOTICE("starting '%s'\n", svc->name);
pid = fork();
if (pid == 0) {
struct socketinfo *si;
struct svcenvinfo *ei;
char tmp[32];
int fd, sz;
umask(077);
#ifdef __arm__
/*
* b/7188322 - Temporarily revert to the compat memory layout
* to avoid breaking third party apps.
*
* THIS WILL GO AWAY IN A FUTURE ANDROID RELEASE.
*
* http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=7dbaa466
* changes the kernel mapping from bottom up to top-down.
* This breaks some programs which improperly embed
* an out of date copy of Android's linker.
*/
int current = personality(0xffffFFFF);
personality(current | ADDR_COMPAT_LAYOUT);
#endif
//.........这里部分代码省略.........
开发者ID:qubir,项目名称:PhoenixA20_android_system_sourcecode,代码行数:101,代码来源:init.c
注:本文中的NOTICE函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论