Can someone tell me if the socket() function sets errno on failure.  The 
man page does not
state as much, but lists errno values in the ERRORS section.

Thanks
Doug

-------- Original Message --------
Subject:        CR 6421256 douglas.stevenson, Now responsible engineer P4 
manpage/section3sock socket(3SOCKET) man page makes little mention of 
errno for returning errors
Date:   Tue, 28 Aug 2007 10:42:44 -0600 (MDT)
From:   [EMAIL PROTECTED]
To:     [EMAIL PROTECTED], [EMAIL PROTECTED], 
[EMAIL PROTECTED]



*Synopsis*: socket(3SOCKET) man page makes little mention of errno for 
returning errors
http://bt2ws.central.sun.com/CrPrint?id=6421256

Due to a change requested by [EMAIL PROTECTED],
[EMAIL PROTECTED] is now the responsible engineer for:

CR 6421256 changed on Aug 28 2007 by [EMAIL PROTECTED]

=== Field ============ === New Value ============= === Old Value =============

Responsible Engineer   [EMAIL PROTECTED]   [EMAIL PROTECTED]   
====================== =========================== ===========================


*Change Request ID*: 6421256

*Synopsis*: socket(3SOCKET) man page makes little mention of errno for 
returning errors

  Product: solaris
  Category: manpage
  Subcategory: section3socket
  Type: Defect
  Subtype: 
  Status: 3-Accepted
  Substatus: 
  Priority: 4-Low
  Introduced In Release: 
  Introduced In Build: 
  Responsible Manager: [EMAIL PROTECTED]
  Responsible Engineer: [EMAIL PROTECTED]
  Initial Evaluator: [EMAIL PROTECTED]
  Keywords: errno, socket

=== *Description* ============================================================
The man page for socket(3SOCKET) does not state whether errno is set to qualify 
an error in the case of a failure.

*** (#1 of 1): 2006-05-03 15:02:59 GMT+00:00 [EMAIL PROTECTED]
*** Last Edit: 2006-05-03 15:02:59 GMT+00:00 [EMAIL PROTECTED]


=== *Comments* ===============================================================
The only hint that errno might be set is here:

     If ...
     then the connection is  considered  broken  and  calls  will
     indicate  an error with -1 returns and with ETIMEDOUT as the
     specific code in the global variable  errno.  The  protocols
     ...


The return values section makes no mention of errno at all:

RETURN VALUES
     A -1 is returned if an error occurs.  Otherwise  the  return
     value is a descriptor referencing the socket.


Yet the "ERRORS" section implies that errno is set:

ERRORS
     The socket() function will fail if:

     EACCES                  Permission to create a socket of the
                             specified   type   or   protocol  is
                             denied.
     etc...


It seems to state the failure modes, but doesn't actually go as far as stating 
that these return codes are set in errno.


Looking at the implementation of socket() in libsocket on aggregate.eng 
(onnv_nightly/source/usr/src/stand/lib/sock/socket.c) it seems that a valid 
value for errno is set if the call to socket() fails.

I presume this is simply a man page bug and the RETURN VALUES section needs a 
little rewording to explicitly state that errno is set (if this is correct to 
say). I would appreciate clarification on whether errno can be relied upon in 
the case of socket() returning -1.

*** (#1 of 2): 2006-05-03 15:02:59 GMT+00:00 [EMAIL PROTECTED]
*** Last Edit: 2006-05-03 15:02:59 GMT+00:00 [EMAIL PROTECTED]

Correction to source location:

I think I was looking at the wrong bit of source code. I think the correct bit 
is actually _socket_create:

onnv_nightly/source/usr/src/lib/libsocket/socket/socket.c

However, the comment remains the same about whether errno can be relied upon, 
and whether this should be mentioned explicitly in the man page.

*** (#2 of 2): 2006-05-03 15:23:57 GMT+00:00 [EMAIL PROTECTED]
*** Last Edit: 2006-05-03 15:23:57 GMT+00:00 [EMAIL PROTECTED]


=== *Evaluation* =============================================================
Accepted. Will investigate.

*** (#1 of 1): 2006-05-04 18:34:17 GMT+00:00 [EMAIL PROTECTED]
*** Last Edit: 2006-05-04 18:34:17 GMT+00:00 [EMAIL PROTECTED]


=== *Suggested Fix* ==========================================================

=== *Workaround* =============================================================

=== *Justification* ==========================================================

=== *Additional Details* =====================================================
        Targeted Release: 
        Commit To Fix In Build: 
        Fixed In Build: 
        Integrated In Build: 
        Verified In Build: 
  See Also: 
  Duplicate of: 
  Hooks:
        Hook1: 
        Hook2: 
        Hook3: 
        Hook4: 
        Hook5: 
        Hook6: 
  Interest List: 
  Program Management: 
  Root Cause: 
  Requires Security Coordination: false
  Fix Affects Documentation: No
  Fix Affects Localization: No
  Reported by: 

=== *History* ================================================================
        Date Submitted: 2006-05-03 15:02:57 GMT+00:00
        Submitted By: [EMAIL PROTECTED]

        Status Changed    Date Updated                  Updated By
        3-Accepted        2006-05-04 18:34:16 GMT+00:00 [EMAIL PROTECTED]


=== *Solution* ===============================================================


=== *Service Request* ========================================================
        ID: 1-193656808
        Customer:
        Account Name: Sun Microsystems Enterprise Services UK
        Contact Role: T-Technical Support
        Impact: Limited
        Functionality: Nonessential
        Severity: 5
        Synopsis: 
        Product Name: solaris
        Product Release: solaris_nevada
        Product Build: snv_38
        Operating System: snv_38
        Hardware: generic_sparc
        Reference Number: 
        Sun Contact: [EMAIL PROTECTED]
        Customer Contact: 
        Contact Type: I-Internal (SMI) Customer
        Status: Open
        Source: BugTraq2
        Reproducible: 
        Submitted By: [EMAIL PROTECTED]
        Submitted Date: 2006-05-03 15:02:59 GMT+00:00
        Description: 


=== *Activity* ===============================================================


=== *Multiple Release (MR) Cluster* - 0 ======================================



=== *Escalations* ============================================================


_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to