10Sduke/*
213002Skbarrett * Copyright (c) 2014 The FreeBSD Foundation.
30Sduke * All rights reserved.
40Sduke *
50Sduke * Portions of this software were developed by Konstantin Belousov
60Sduke * under sponsorship from the FreeBSD Foundation.
70Sduke *
80Sduke * Redistribution and use in source and binary forms, with or without
90Sduke * modification, are permitted provided that the following conditions
100Sduke * are met:
110Sduke * 1. Redistributions of source code must retain the above copyright
120Sduke *    notice(s), this list of conditions and the following disclaimer as
130Sduke *    the first lines of this file unmodified other than the possible
140Sduke *    addition of one or more copyright notices.
150Sduke * 2. Redistributions in binary form must reproduce the above copyright
160Sduke *    notice(s), this list of conditions and the following disclaimer in
170Sduke *    the documentation and/or other materials provided with the
180Sduke *    distribution.
191472Strims *
201472Strims * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
211472Strims * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
220Sduke * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
230Sduke * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
240Sduke * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
251879Sstefank * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
261879Sstefank * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
271879Sstefank * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
281879Sstefank * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
291879Sstefank * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
301879Sstefank * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
311879Sstefank */
321879Sstefank
331879Sstefank#include <sys/cdefs.h>
341879Sstefank__FBSDID("$FreeBSD$");
351879Sstefank
360Sduke#include <sys/types.h>
370Sduke#include <signal.h>
384514Sneliasso#include "libc_private.h"
390Sduke
404514Sneliasso__weak_reference(__sys_sigtimedwait, __sigtimedwait);
410Sduke
420Sduke#pragma weak sigtimedwait
430Sdukeint
440Sdukesigtimedwait(const sigset_t * __restrict set, siginfo_t * __restrict info,
450Sduke    const struct timespec * __restrict t)
465104Sadlertz{
470Sduke
485104Sadlertz	return (((int (*)(const sigset_t *, siginfo_t *,
490Sduke	    const struct timespec *))
500Sduke	    __libc_interposing[INTERPOS_sigtimedwait])(set, info, t));
510Sduke}
525074Sadlertz