1 // $Id: IO_SAP.cpp 80826 2008-03-04 14:51:23Z wotte $
3 #include "ace/IO_SAP.h"
5 #include "ace/Log_Msg.h"
6 #include "ace/OS_NS_unistd.h"
7 #include "ace/OS_NS_errno.h"
8 #include "ace/OS_NS_fcntl.h"
9 #include "ace/os_include/os_signal.h"
11 #if !defined (__ACE_INLINE__)
12 #include "ace/IO_SAP.inl"
13 #endif /* __ACE_INLINE__ */
15 ACE_RCSID(ace
, IO_SAP
, "$Id: IO_SAP.cpp 80826 2008-03-04 14:51:23Z wotte $")
17 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
19 ACE_ALLOC_HOOK_DEFINE(ACE_IO_SAP
)
21 // This is the do-nothing constructor. It does not perform a
22 // ACE_OS::open system call.
24 ACE_IO_SAP::ACE_IO_SAP (void)
25 : handle_ (ACE_INVALID_HANDLE
)
27 ACE_TRACE ("ACE_IO_SAP::ACE_IO_SAP");
31 ACE_IO_SAP::dump (void) const
33 #if defined (ACE_HAS_DUMP)
34 ACE_TRACE ("ACE_IO_SAP::dump");
36 ACE_DEBUG ((LM_DEBUG
, ACE_BEGIN_DUMP
, this));
37 ACE_DEBUG ((LM_DEBUG
, ACE_TEXT ("handle_ = %d"), this->handle_
));
38 ACE_DEBUG ((LM_DEBUG
, ACE_TEXT ("\npid_ = %d"), this->pid_
));
39 ACE_DEBUG ((LM_DEBUG
, ACE_END_DUMP
));
40 #endif /* ACE_HAS_DUMP */
43 // Cache for the process ID.
44 pid_t
ACE_IO_SAP::pid_
= 0;
47 ACE_IO_SAP::enable (int value
) const
49 ACE_TRACE ("ACE_IO_SAP::enable");
50 /* First-time in initialization. */
51 if (ACE_IO_SAP::pid_
== 0)
52 ACE_IO_SAP::pid_
= ACE_OS::getpid ();
59 #if defined (F_SETOWN)
60 return ACE_OS::fcntl (this->handle_
,
64 ACE_NOTSUP_RETURN (-1);
70 #if defined (F_SETOWN) && defined (FASYNC)
71 if (ACE_OS::fcntl (this->handle_
,
73 ACE_IO_SAP::pid_
) == -1
74 || ACE::set_flags (this->handle_
,
79 ACE_NOTSUP_RETURN (-1);
80 #endif /* F_SETOWN && FASYNC */
82 ACE_NOTSUP_RETURN (-1);
83 #endif /* SIGIO <== */
85 if (ACE::set_flags (this->handle_
,
97 ACE_IO_SAP::disable (int value
) const
99 ACE_TRACE ("ACE_IO_SAP::disable");
106 #if defined (F_SETOWN)
107 if (ACE_OS::fcntl (this->handle_
,
112 ACE_NOTSUP_RETURN (-1);
113 #endif /* F_SETOWN */
118 #if defined (F_SETOWN) && defined (FASYNC)
119 if (ACE_OS::fcntl (this->handle_
,
122 || ACE::clr_flags (this->handle_
, FASYNC
) == -1)
126 ACE_NOTSUP_RETURN (-1);
127 #endif /* F_SETOWN && FASYNC */
129 ACE_NOTSUP_RETURN (-1);
130 #endif /* SIGIO <== */
132 if (ACE::clr_flags (this->handle_
,
142 ACE_END_VERSIONED_NAMESPACE_DECL