summaryrefslogtreecommitdiff
path: root/ace/OS_NS_stdio.inl
diff options
context:
space:
mode:
authormichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-04 20:26:54 +0000
committermichel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-04 20:26:54 +0000
commitad8e2e4628cc7602048f3ca5e237aef4d9e3ed70 (patch)
tree4fa11f545987368d87314d991086a50c7dfbc5ed /ace/OS_NS_stdio.inl
parent4dd9a3a8a1eb7b24b9f8bcdd153318eaecba8695 (diff)
downloadATCD-ad8e2e4628cc7602048f3ca5e237aef4d9e3ed70.tar.gz
Tue Nov 4 14:22:00 2003 Justin Michel <michel_j@ociweb.com
Diffstat (limited to 'ace/OS_NS_stdio.inl')
-rw-r--r--ace/OS_NS_stdio.inl23
1 files changed, 23 insertions, 0 deletions
diff --git a/ace/OS_NS_stdio.inl b/ace/OS_NS_stdio.inl
index 13d5eaeb2b6..e11ce4a9440 100644
--- a/ace/OS_NS_stdio.inl
+++ b/ace/OS_NS_stdio.inl
@@ -956,5 +956,28 @@ ACE_OS::set_win32_resource_module (HINSTANCE instance)
{
ACE_OS::win32_resource_module_ = instance;
}
+
+ACE_INLINE LPSECURITY_ATTRIBUTES
+ACE_OS::default_win32_security_attributes (LPSECURITY_ATTRIBUTES sa)
+{
+#if defined (ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES)
+ if (sa == 0)
+ {
+ // @@ This is a good place to use pthread_once.
+ static SECURITY_ATTRIBUTES default_sa;
+ static SECURITY_DESCRIPTOR sd;
+ InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
+ SetSecurityDescriptorDacl(&sd, TRUE, 0, FALSE);
+ default_sa.nLength = sizeof(SECURITY_ATTRIBUTES);
+ default_sa.lpSecurityDescriptor = &sd;
+ default_sa.bInheritHandle = TRUE;
+ sa = &default_sa;
+ }
+ return sa;
+#else /* !ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES */
+ return sa;
+#endif /* ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES */
+}
+
#endif /* ACE_WIN32 */
#endif