On Wed, Nov 3, 2010 at 8:42 AM, Brian Reichert <reich...@numachi.com> wrote:
> On Tue, Nov 02, 2010 at 09:59:12PM -0400, Uri Guttman wrote:
>> why are you concerned about closing the DATA handle? it is internal to
>> the program. actually it is the handle the perl binary uses to read the
>> source file and it is left at the seek point where the DATA starts.
>
> Because, I understand it to be best practice to close all file
> handles, as per:
>
>  http://www.webreference.com/perl/tutorial/9/2.html
>
>    "Besides closing any filehandles that might have been opened ..."
>
>  http://en.wikipedia.org/wiki/Daemon_%28computer_software%29
>
>    "Closing all inherited open files at the time of execution that
>    are left open by the parent process, ..."
>
>  http://www.enderunix.org/docs/eng/daemon.php
>
>    "Unneccesarry [sic] descriptors should be closed before fork()
>    system call (so that they are not inherited) or close all open
>    descriptors as soon as the child process starts running."
>
> I also have here in the office a copy of Steven's Unix Network
> programming Volume 1, 2nd edition.  Chapter 12 (Daemon Processes
> and inetd SuperServer) describes daemonizing a process;  his example
> code lib/daemon_init.c also pointedly closes all file handles; review
> that source here:
>
>  http://www.kohala.com/start/unpv12e/unpv12e.tar.gz
>
> I'm maintaining a perl module (internally) that allows for convienent
> daemonizing; I wrote it to be as 'correct' as possible.

What was wrong with the CPAN module Proc::Daemon?

> Until yesterday, I didn't realize that DATA and END were magic file
> descriptors in perl.  As such, it would be easy to alter my module
> to preserve them.  If I can find reference to other magic descriptors,
> then I'll take them into account as well.
>
>> well, perl keeps it open so it can be used by anyone reading from
>> DATA.
>
> If it keeps it open (despite my closing the file descriptor), then
> why does the daemonized process no longer have access to all of
> it's contents?
>
>> this list (as most other rightly do) filters out attachments. so you
>> should just paste your code in the email instead.
>
> That does make sense; I'll re-post soonish...
>
> Thanks for the feedback...
>
>> uri
>>
>> --
>> Uri Guttman  ------  ...@stemsystems.com  --------  http://www.sysarch.com --
>> -----  Perl Code Review , Architecture, Development, Training, Support ------
>> ---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------
>
> --
> Brian Reichert                          <reich...@numachi.com>
> 55 Crystal Ave. #286
> Derry NH 03038-1725 USA                 BSD admin/developer at large
>
> _______________________________________________
> Boston-pm mailing list
> Boston-pm@mail.pm.org
> http://mail.pm.org/mailman/listinfo/boston-pm
>

_______________________________________________
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to