Changeset 23251
- Timestamp:
- 05/10/07 14:36:14 (19 months ago)
- Files:
-
- 1 modified
-
trunk/launchd/src/launchd_core_logic.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/launchd/src/launchd_core_logic.c
r23250 r23251 3046 3046 } 3047 3047 3048 void 3049 socketgroup_ignore(job_t j, struct socketgroup *sg) 3050 { 3051 char buf[10000]; 3052 unsigned int i, buf_off = 0; 3053 3054 if (sg->junkfds) { 3055 return; 3056 } 3057 3058 for (i = 0; i < sg->fd_cnt; i++) 3059 buf_off += snprintf(buf + buf_off, sizeof(buf) - buf_off, " %d", sg->fds[i]); 3060 3061 job_log(j, LOG_DEBUG, "Ignoring Sockets:%s", buf); 3062 3063 for (i = 0; i < sg->fd_cnt; i++) { 3064 job_assumes(j, kevent_mod(sg->fds[i], EVFILT_READ, EV_DELETE, 0, 0, NULL) != -1); 3065 } 3066 } 3067 3068 void 3069 socketgroup_watch(job_t j, struct socketgroup *sg) 3048 static void 3049 socketgroup_kevent_mod(job_t j, struct socketgroup *sg, bool do_add) 3070 3050 { 3071 3051 struct kevent kev[sg->fd_cnt]; … … 3077 3057 } 3078 3058 3079 for (i = 0; i < sg->fd_cnt; i++) 3059 for (i = 0; i < sg->fd_cnt; i++) { 3060 EV_SET(&kev[i], sg->fds[i], EVFILT_READ, do_add ? EV_ADD : EV_DELETE, 0, 0, j); 3080 3061 buf_off += snprintf(buf + buf_off, sizeof(buf) - buf_off, " %d", sg->fds[i]); 3081 3082 job_log(j, LOG_DEBUG, "Watching sockets:%s", buf); 3083 3084 for (i = 0; i < sg->fd_cnt; i++) { 3085 EV_SET(&kev[i], sg->fds[i], EVFILT_READ, EV_ADD, 0, 0, j); 3086 } 3062 } 3063 3064 job_log(j, LOG_DEBUG, "%s Sockets:%s", do_add ? "Watching" : "Ignoring", buf); 3087 3065 3088 3066 job_assumes(j, kevent_bulk_mod(kev, sg->fd_cnt) != -1); … … 3093 3071 job_assumes(j, kev[i].data == 0); 3094 3072 } 3073 } 3074 3075 void 3076 socketgroup_ignore(job_t j, struct socketgroup *sg) 3077 { 3078 socketgroup_kevent_mod(j, sg, false); 3079 } 3080 3081 void 3082 socketgroup_watch(job_t j, struct socketgroup *sg) 3083 { 3084 socketgroup_kevent_mod(j, sg, true); 3095 3085 } 3096 3086

