#endif
char tracetext[256], lock[128];
char options_error[256];
- int polling = 0;
#if 0
/* init fdset */
PERROR("%s", options_error);
goto free;
}
- polling = options.polling;
#ifdef WITH_MISDN
/* init mISDN */
#ifdef WITH_SIP
/* init SIP globals */
sip_init();
- polling = 1; /* must poll, because of SIP events */
#endif
#ifdef WITH_SS5
usleep(10000);
}
#else
+#ifdef WITH_SIP
+ if (options.polling || any_sip_interface) {
+#else
if (options.polling) {
+#endif
if (!select_main(1, NULL, NULL, NULL)) {
#ifdef WITH_SIP
/* FIXME: check if work was done */
if (created_lock)
flock(lockfd, LOCK_UN);
if (lockfd >= 0) {
- chmod(lock, 0700);
- unlink(lock);
+ if (created_lock) {
+ chmod(lock, 0700);
+ unlink(lock);
+ }
close(lockfd);
}
sip_exit();
#endif
-#ifdef WITH_MISDN
- /* close loopback, if used by GSM or remote */
- if (mISDNloop.sock > -1)
- mISDNloop_close();
-#endif
-
/* display memory leak */
#define MEMCHECK(a, b) \
if (b) { \