semevent-r0drv-solaris.c revision 5eb8c49f193655f19bb89b653df8643091fa987b
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * IPRT - Semaphores, Ring-0 Driver, Solaris.
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2006-2010 Oracle Corporation
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * available from http://www.virtualbox.org. This file is free software;
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * you can redistribute it and/or modify it under the terms of the GNU
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * General Public License (GPL) as published by the Free Software
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * The contents of this file may alternatively be used under the terms
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * of the Common Development and Distribution License Version 1.0
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * VirtualBox OSE distribution, in which case the provisions of the
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * CDDL are applicable instead of those of the GPL.
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * You may elect to license modified versions of this file under the
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync * terms and conditions of either the GPL or the CDDL or both.
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync/*******************************************************************************
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync* Header Files *
0e5731ab59b4ecead38375f26eeea698f00b19fdvboxsync*******************************************************************************/
#include "semeventwait-r0drv-solaris.h"
typedef struct RTSEMEVENTSOLENTRY
bool volatile fWokenUp;
typedef struct RTSEMEVENTINTERNAL
bool fSignaled;
RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem, uint32_t fFlags, RTLOCKVALCLASS hClass, const char *pszNameFmt, ...)
if (!pThis)
return VERR_NO_MEMORY;
return VINF_SUCCESS;
return VINF_SUCCESS;
AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("u32Magic=%RX32 pThis=%p\n", pThis->u32Magic, pThis), VERR_INVALID_HANDLE);
return VINF_SUCCESS;
AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("u32Magic=%RX32 pThis=%p\n", pThis->u32Magic, pThis), VERR_INVALID_HANDLE);
return VINF_SUCCESS;
AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
int rc;
return rc;
#ifndef RTSEMEVENT_STRICT