rem: }
add: } else LOG(L_ERR, "ERROR: change_semaphore: %s\n", strerror(errno));
context: int change_semaphore( ser_lock_t s  , int val ){   struct sembuf pbuf;   int r;   pbuf.sem_num = s.semaphore_index ;   pbuf.sem_op =val;   pbuf.sem_flg = 0;tryagain:   r=semop( s.semaphore_set, &pbuf ,  1 /* just 1 op */ );   if (r==-1) {	printf("ERROR occured in change_semaphore: %s\n", 		strerror(errno));	if (errno=EINTR) {		DBG("signal received in a semaphore\n");		goto tryagain;	}    }   return r;}