X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=ipc.c;h=cf8a8989e95f1dd8c1ebd8432658ad6c56aea890;hp=37d30715adaf02bf4e0926fcedfc1c8aa4be1949;hb=98e61f7563ae284e058ce6251b89626ab6254ff7;hpb=a6ab01f836f779684d5f51c41aac846c4b4d16da diff --git a/ipc.c b/ipc.c index 37d30715..cf8a8989 100644 --- a/ipc.c +++ b/ipc.c @@ -16,7 +16,7 @@ /** * Define a new mutex. * - * \return The identifier for the new mutex on success, \a -E_SEM_GET + * \return The identifier for the new mutex on success, a negative error code * on errors. * * \sa semget(2). @@ -24,7 +24,7 @@ int mutex_new(void) { int ret = semget(IPC_PRIVATE, 1, IPC_CREAT | 0666); - return ret < 0? -E_SEM_GET : ret; + return ret < 0? -ERRNO_TO_PARA_ERROR(errno) : ret; } /** @@ -32,14 +32,14 @@ int mutex_new(void) * * \param id The identifier of the mutex to be destroyed. * - * \return Positive on success, \a -E_SEM_REMOVE on errors. + * \return Standard. * * \sa semctl(2) */ int mutex_destroy(int id) { int ret = semctl(id, 0, IPC_RMID); - return ret < 0? -E_SEM_REMOVE : 1; + return ret < 0? -ERRNO_TO_PARA_ERROR(errno) : 1; } static void para_semop(int id, struct sembuf *sops, int num) @@ -49,7 +49,7 @@ static void para_semop(int id, struct sembuf *sops, int num) return; } while (errno == EINTR); if (errno == EIDRM) { - PARA_NOTICE_LOG("semaphore set %d was removed\n", id); + PARA_CRIT_LOG("semaphore set %d was removed\n", id); return; } PARA_EMERG_LOG("fatal semop error %s: pid %d\n", strerror(errno), @@ -109,14 +109,15 @@ void mutex_unlock(int id) * * \param size The size of the shared memory area to create. * - * \return The id of the shared memory areay on success, \a -E_SHM_GET on errors. + * \return The id of the shared memory array on success, a negative error + * code on errors. * * \sa shmget(2). */ int shm_new(size_t size) { int ret = shmget(IPC_PRIVATE, size, IPC_CREAT | IPC_EXCL | 0600); - return ret < 0 ? -E_SHM_GET : ret; + return ret < 0 ? -ERRNO_TO_PARA_ERROR(errno) : ret; } /** @@ -125,7 +126,7 @@ int shm_new(size_t size) * \param id The shared memory identifier. * * \return The return value of the underlying shmctl() call on success, - * \a -E_SHM_DESTROY on errors. + * a negative error code on errors. * * \sa shmctl(2). */ @@ -133,28 +134,27 @@ int shm_destroy(int id) { struct shmid_ds shm_desc; int ret = shmctl(id, IPC_RMID, &shm_desc); - return ret < 0? -E_SHM_DESTROY : ret; + return ret < 0? -ERRNO_TO_PARA_ERROR(errno) : ret; } /** * Attach a shared memory segment. * * \param id The identifier of the shared memory segment to attach. - * \param mode either ATTACH_RO (read only) or ATTACH_RW (read/write). - * \param result points to the attached area just attached. + * \param mode Either ATTACH_RO (read only) or ATTACH_RW (read/write). + * \param result Points to the attached area just attached on success. * - * \return positive on success, \a -E_SHM_ATTACH on errors. + * \return Standard. * * \sa shmat(2). */ int shm_attach(int id, enum shm_attach_mode mode, void **result) { - if (mode == ATTACH_RW) { + if (mode == ATTACH_RW) *result = shmat(id, NULL, 0); - return *result? 1 : -E_SHM_ATTACH; - } - *result = shmat(id, NULL, SHM_RDONLY); - return *result? 1 : -E_SHM_ATTACH; + else + *result = shmat(id, NULL, SHM_RDONLY); + return *result == (void *) -1? -ERRNO_TO_PARA_ERROR(errno) : 1; } /** @@ -162,12 +162,12 @@ int shm_attach(int id, enum shm_attach_mode mode, void **result) * * \param addr The address of the attached segment. * - * \return Positive on success, \a -E_SHM_DETACH on errors. + * \return Standard. * * \sa shmdt(2). */ int shm_detach(void *addr) { int ret = shmdt(addr); - return ret < 0? -E_SHM_DETACH : 1; + return ret < 0? -ERRNO_TO_PARA_ERROR(errno) : 1; }