94886678c1
Allows the Annex to be administered from a FreeBSD host, rather than via the console port. Tested with a MicroAnnex-XL 16 port device. Reviewed by: edwin Approved by: jake (mentor)
26 lines
816 B
C
26 lines
816 B
C
--- erpcd/session_dbunx.c.orig Wed Oct 15 13:50:46 1997
|
|
+++ erpcd/session_dbunx.c Thu Sep 18 20:10:32 2003
|
|
@@ -117,7 +117,11 @@
|
|
key_t sem_key = 0; /* semaphore key */
|
|
int Asemid; /* Access semaphore id */
|
|
|
|
+#if defined(__FreeBSD__)
|
|
+int ctlinit;
|
|
+#else
|
|
union semun ctlinit; /* arg struct for semctl */
|
|
+#endif
|
|
/* sembuf elements: index, op, flag */
|
|
struct sembuf sopwait = {0,-1, SEM_UNDO}; /* wait for semaphore */
|
|
struct sembuf soppost = {0, 1, SEM_UNDO}; /* set value to available */
|
|
@@ -290,7 +294,11 @@
|
|
return errno;
|
|
}
|
|
}
|
|
+#if defined(__FreeBSD__)
|
|
+ ctlinit = 1;
|
|
+#else
|
|
ctlinit.val = 1;
|
|
+#endif
|
|
if (semctl(Asemid, 0, SETVAL, ctlinit) == -1) {
|
|
#ifdef USE_SYSLOG
|
|
syslog(LOG_CRIT, "%s: Set semaphore, semctl error %d. No database access.", appname, errno);
|