diff options
author | Volker Lendecke <vlendec@samba.org> | 2007-05-15 12:18:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:22:05 -0500 |
commit | 8f9369f2e627cf2da4f5902be570200a9d2b1a67 (patch) | |
tree | 832f64792b0a1b4417034dd5dbfefe0ee6c41428 | |
parent | fb99bbe67597555109ebd65613a5aab395b43499 (diff) | |
download | samba-8f9369f2e627cf2da4f5902be570200a9d2b1a67.tar.gz samba-8f9369f2e627cf2da4f5902be570200a9d2b1a67.tar.bz2 samba-8f9369f2e627cf2da4f5902be570200a9d2b1a67.zip |
r22900: Convert profile/ to messaging_send_pid/messaging_register
(This used to be commit edbeea520727f51568ccd8ffa802e06bd120794c)
-rw-r--r-- | source3/profile/profile.c | 36 | ||||
-rw-r--r-- | source3/smbd/server.c | 2 | ||||
-rw-r--r-- | source3/utils/status_profile.c | 4 |
3 files changed, 29 insertions, 13 deletions
diff --git a/source3/profile/profile.c b/source3/profile/profile.c index c4136950a5..257b0abba5 100644 --- a/source3/profile/profile.c +++ b/source3/profile/profile.c @@ -93,20 +93,31 @@ void set_profile_level(int level, struct server_id src) /**************************************************************************** receive a set profile level message ****************************************************************************/ -void profile_message(int msg_type, struct server_id src, void *buf, size_t len, - void *private_data) +static void profile_message(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id src, + DATA_BLOB *data) { int level; - memcpy(&level, buf, sizeof(int)); + if (data->length != sizeof(level)) { + DEBUG(0, ("got invalid profile message\n")); + return; + } + + memcpy(&level, data->data, sizeof(level)); set_profile_level(level, src); } /**************************************************************************** receive a request profile level message ****************************************************************************/ -void reqprofile_message(int msg_type, struct server_id src, - void *buf, size_t len, void *private_data) +static void reqprofile_message(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id src, + DATA_BLOB *data) { int level; @@ -117,7 +128,8 @@ void reqprofile_message(int msg_type, struct server_id src, #endif DEBUG(1,("INFO: Received REQ_PROFILELEVEL message from PID %u\n", (unsigned int)procid_to_pid(&src))); - message_send_pid(src, MSG_PROFILELEVEL, &level, sizeof(int), True); + messaging_send_buf(msg_ctx, src, MSG_PROFILELEVEL, + (uint8 *)&level, sizeof(level)); } /******************************************************************* @@ -184,7 +196,7 @@ static void init_clock_gettime(void) } #endif -BOOL profile_setup(BOOL rdonly) +BOOL profile_setup(struct messaging_context *msg_ctx, BOOL rdonly) { struct shmid_ds shm_ds; @@ -238,7 +250,7 @@ BOOL profile_setup(BOOL rdonly) } if (shm_ds.shm_segsz != sizeof(*profile_h)) { - DEBUG(0,("WARNING: profile size is %d (expected %lu). Deleting\n", + DEBUG(0,("WARNING: profile size is %d (expected %d). Deleting\n", (int)shm_ds.shm_segsz, sizeof(*profile_h))); if (shmctl(shm_id, IPC_RMID, &shm_ds) == 0) { goto again; @@ -255,8 +267,12 @@ BOOL profile_setup(BOOL rdonly) } profile_p = &profile_h->stats; - message_register(MSG_PROFILE, profile_message, NULL); - message_register(MSG_REQ_PROFILELEVEL, reqprofile_message, NULL); + if (msg_ctx != NULL) { + messaging_register(msg_ctx, NULL, MSG_PROFILE, + profile_message); + messaging_register(msg_ctx, NULL, MSG_REQ_PROFILELEVEL, + reqprofile_message); + } return True; } diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 9cdc083bf6..ca54b2471d 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -917,7 +917,7 @@ extern void build_options(BOOL screen); init_structs(); #ifdef WITH_PROFILE - if (!profile_setup(False)) { + if (!profile_setup(smbd_messaging_context(), False)) { DEBUG(0,("ERROR: failed to setup profiling\n")); return -1; } diff --git a/source3/utils/status_profile.c b/source3/utils/status_profile.c index b4c4940f3f..cc7feec2d8 100644 --- a/source3/utils/status_profile.c +++ b/source3/utils/status_profile.c @@ -47,7 +47,7 @@ static void profile_separator(const char * title) BOOL status_profile_dump(BOOL verbose) { #ifdef WITH_PROFILE - if (!profile_setup(True)) { + if (!profile_setup(NULL, True)) { fprintf(stderr,"Failed to initialise profile memory\n"); return False; } @@ -487,7 +487,7 @@ BOOL status_profile_rates(BOOL verbose) usec_to_sec(sample_interval_usec)); } - if (!profile_setup(True)) { + if (!profile_setup(NULL, True)) { fprintf(stderr,"Failed to initialise profile memory\n"); return False; } |