[lkml]   [2007]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Finding out socket/pipe connectivity status
    > 	write(stdout, request);
    > /* reference point [A] */
    > read(stdin, response);
    > So my idea had been to launch another thread that monitors stdin for
    > 'breakage' and unmount the fs before a user can start an operation on
    > myfs. So I've been trying to complete the idea to code. You say a
    > broken socket raises the read flag, so:

    Your connection can break at any point even mid-write so you must handle
    it. You have no real choice.

    You can try and spot it earlier by using select/poll and checking for
    error. In which case I'd use poll() as it is a bit more clear about what
    event you get

    Then poll stdin and stdout. The kernel will give you back

    POLLERR - an error condition
    POLLHUP - a hangup

    if at the point you poll an error has already occurred. You can do this
    with select and the socket error and related stuff buts its uglier


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-08-12 20:37    [W:0.019 / U:11.980 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site