|
@@ -261,6 +261,15 @@ priv_change_send (struct ipc_segment *ipc_segment)
|
|
|
ipc_segment->euid = req_priv_change.euid;
|
|
ipc_segment->euid = req_priv_change.euid;
|
|
|
return (0);
|
|
return (0);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+#if defined(_SEM_SEMUN_UNDEFINED)
|
|
|
|
|
+union semun {
|
|
|
|
|
+ int val;
|
|
|
|
|
+ struct semid_ds *buf;
|
|
|
|
|
+ unsigned short int *array;
|
|
|
|
|
+ struct seminfo *__buf;
|
|
|
|
|
+};
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
cs_error_t
|
|
cs_error_t
|
|
|
coroipcc_service_connect (
|
|
coroipcc_service_connect (
|
|
@@ -277,6 +286,7 @@ coroipcc_service_connect (
|
|
|
int res;
|
|
int res;
|
|
|
mar_req_setup_t req_setup;
|
|
mar_req_setup_t req_setup;
|
|
|
mar_res_setup_t res_setup;
|
|
mar_res_setup_t res_setup;
|
|
|
|
|
+ union semun semun;
|
|
|
|
|
|
|
|
res_setup.error = CS_ERR_LIBRARY;
|
|
res_setup.error = CS_ERR_LIBRARY;
|
|
|
|
|
|
|
@@ -336,12 +346,13 @@ coroipcc_service_connect (
|
|
|
goto error_exit;
|
|
goto error_exit;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- res = semctl (ipc_segment->semid, 0, SETVAL, 0);
|
|
|
|
|
|
|
+ semun.val = 0;
|
|
|
|
|
+ res = semctl (ipc_segment->semid, 0, SETVAL, semun);
|
|
|
if (res != 0) {
|
|
if (res != 0) {
|
|
|
goto error_exit;
|
|
goto error_exit;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- res = semctl (ipc_segment->semid, 1, SETVAL, 0);
|
|
|
|
|
|
|
+ res = semctl (ipc_segment->semid, 1, SETVAL, semun);
|
|
|
if (res != 0) {
|
|
if (res != 0) {
|
|
|
goto error_exit;
|
|
goto error_exit;
|
|
|
}
|
|
}
|