success CVS-1-22-05



I made the following changes.

1. NetworkManager.c -- I moved the daemonizing code to the top of the file, right after the parsing of options.

       if (become_daemon && daemon (0, 0) < 0)
       {
syslog (LOG_ERR, "NetworkManager could not daemonize. errno = %d", errno);
            exit (EXIT_FAILURE);
       }

       g_type_init ();
       if (!g_thread_supported ())
               g_thread_init (NULL);

2. I changed the init script for Red Hat.

       daemon +19 --check $servicename $processname

I added the +19 to give NetworkManager the lowest possible (nice) priority at boot.

NM when started as a service after boot worked OK. NM when started in no-daemon mode after boot also worked OK. The original init script would not start NM properly. It looks to me like the worker thread for the wireless interface and the main thread were not communicating. NM failed to scan for an AP. It was not an issue of not finding an AP, NM was even scanning for an AP. My guess is that g-threads and the daemon function used in NetworkManager.c are not playing well together.

--
Bill Moss
Professor, Mathematical Sciences
Clemson University


--
Bill Moss
Professor, Mathematical Sciences
Clemson University




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]