180 5,
181 SE_NOUNLOAD | SE_ARGC | SE_32RVAL1,
182 semsys
183 };
184
185 /*
186 * Module linkage information for the kernel.
187 */
188 static struct modlsys modlsys = {
189 &mod_syscallops, "System V semaphore facility", &ipcsem_sysent
190 };
191
192 #ifdef _SYSCALL32_IMPL
193 static struct modlsys modlsys32 = {
194 &mod_syscallops32, "32-bit System V semaphore facility", &ipcsem_sysent
195 };
196 #endif
197
198 static struct modlinkage modlinkage = {
199 MODREV_1,
200 &modlsys,
201 #ifdef _SYSCALL32_IMPL
202 &modlsys32,
203 #endif
204 NULL
205 };
206
207
208 int
209 _init(void)
210 {
211 int result;
212
213 sem_svc = ipcs_create("semids", rc_project_semmni, rc_zone_semmni,
214 sizeof (ksemid_t), sem_dtor, sem_rmid, AT_IPC_SEM,
215 offsetof(ipc_rqty_t, ipcq_semmni));
216 zone_key_create(&sem_zone_key, NULL, sem_remove_zone, NULL);
217
218 if ((result = mod_install(&modlinkage)) == 0)
219 return (0);
220
221 (void) zone_key_delete(sem_zone_key);
222 ipcs_destroy(sem_svc);
223
224 return (result);
|
180 5,
181 SE_NOUNLOAD | SE_ARGC | SE_32RVAL1,
182 semsys
183 };
184
185 /*
186 * Module linkage information for the kernel.
187 */
188 static struct modlsys modlsys = {
189 &mod_syscallops, "System V semaphore facility", &ipcsem_sysent
190 };
191
192 #ifdef _SYSCALL32_IMPL
193 static struct modlsys modlsys32 = {
194 &mod_syscallops32, "32-bit System V semaphore facility", &ipcsem_sysent
195 };
196 #endif
197
198 static struct modlinkage modlinkage = {
199 MODREV_1,
200 { &modlsys,
201 #ifdef _SYSCALL32_IMPL
202 &modlsys32,
203 #endif
204 NULL
205 }
206 };
207
208
209 int
210 _init(void)
211 {
212 int result;
213
214 sem_svc = ipcs_create("semids", rc_project_semmni, rc_zone_semmni,
215 sizeof (ksemid_t), sem_dtor, sem_rmid, AT_IPC_SEM,
216 offsetof(ipc_rqty_t, ipcq_semmni));
217 zone_key_create(&sem_zone_key, NULL, sem_remove_zone, NULL);
218
219 if ((result = mod_install(&modlinkage)) == 0)
220 return (0);
221
222 (void) zone_key_delete(sem_zone_key);
223 ipcs_destroy(sem_svc);
224
225 return (result);
|