geekmaster / eyefiserver2

Automatically exported from code.google.com/p/eyefiserver2
0 stars 0 forks source link

Daemon stops on any signal in Python 2.6+ #12

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Adding any signal handler works fine, but server process stops unexpecedly 
after handler has been processed. Adding any infinite loop before call of 
eyeFiServer.serve_forever() allows server to process signals normally.

Original issue reported on code.google.com by duke...@gmail.com on 25 Jun 2012 at 2:09

GoogleCodeExporter commented 8 years ago
Checked with different versions of Python from QNAP/x86 repository:
python24 - 2.4.6-2 - not compatible
python25 - 2.5.6-2 - no problem!
python26 - 2.6.8-1 - problem
python27 - 2.7.3-1 - problem
python3 - 3.2.3-1 - not compatible
Please check your versions, uncomment daemon.reload() and report. I can't check 
the main functionality now, but I suspect part of the code is for python 2.6+

Original comment by duke...@gmail.com on 26 Jun 2012 at 10:20

GoogleCodeExporter commented 8 years ago

Original comment by duke...@gmail.com on 27 Jun 2012 at 6:39

GoogleCodeExporter commented 8 years ago
Ok, there is still an issue for Python 2.6+.

Original comment by duke...@gmail.com on 3 Jul 2012 at 6:56

GoogleCodeExporter commented 8 years ago

Original comment by duke...@gmail.com on 3 Jul 2012 at 6:57

GoogleCodeExporter commented 8 years ago
Disabled daemon stdout/stderr redirection and got a traceback for this issue, 
any ideas?

[07/03/12 11:01AM][reload_config] - Reloading configuration 
/etc/eyefiserver.conf
Traceback (most recent call last):
  File "/usr/local/bin/eyefiserver.py", line 1018, in <module>
    main()
  File "/usr/local/bin/eyefiserver.py", line 984, in main
    result = daemon.start()
  File "/usr/local/bin/eyefiserver.py", line 145, in start
    self.run()
  File "/usr/local/bin/eyefiserver.py", line 976, in run
    runEyeFi()
  File "/usr/local/bin/eyefiserver.py", line 959, in runEyeFi
    eyeFiServer.serve_forever()
  File "/share/MD0_DATA/.qpkg/Python/lib/python2.7/SocketServer.py", line 225, in serve_forever
    r, w, e = select.select([self], [], [], poll_interval)
select.error: (4, 'Interrupted system call')

Original comment by duke...@gmail.com on 3 Jul 2012 at 7:03

GoogleCodeExporter commented 8 years ago
Seems to be an old issue
http://bugs.python.org/issue7978

Original comment by duke...@gmail.com on 3 Jul 2012 at 7:10

GoogleCodeExporter commented 8 years ago
Fixed with overriding serve_forever with handle_request exception handling 
added in 0.0.12. Now reload option works fine in Python 2.5-2.7

Original comment by duke...@gmail.com on 3 Jul 2012 at 8:15