2019-09-09 18:40:24 +08:00
|
|
|
/*
|
2019-02-03 17:28:01 +08:00
|
|
|
* Copyright 2017-2019 Leonid Yuriev <leo@yuriev.ru>
|
2017-03-30 23:54:57 +08:00
|
|
|
* and other libmdbx authors: please see AUTHORS file.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted only as authorized by the OpenLDAP
|
|
|
|
* Public License.
|
|
|
|
*
|
|
|
|
* A copy of this license is available in the file LICENSE in the
|
|
|
|
* top-level directory of the distribution or, alternatively, at
|
|
|
|
* <http://www.OpenLDAP.org/license.html>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "base.h"
|
|
|
|
|
|
|
|
void osal_setup(const std::vector<actor_config> &actors);
|
|
|
|
void osal_broadcast(unsigned id);
|
|
|
|
int osal_waitfor(unsigned id);
|
|
|
|
|
|
|
|
int osal_actor_start(const actor_config &config, mdbx_pid_t &pid);
|
|
|
|
actor_status osal_actor_info(const mdbx_pid_t pid);
|
|
|
|
void osal_killall_actors(void);
|
|
|
|
int osal_actor_poll(mdbx_pid_t &pid, unsigned timeout);
|
|
|
|
void osal_wait4barrier(void);
|
2017-04-21 23:33:35 +08:00
|
|
|
|
2019-10-02 06:17:09 +08:00
|
|
|
bool osal_progress_push(bool active);
|
|
|
|
|
2017-04-21 23:33:35 +08:00
|
|
|
mdbx_pid_t osal_getpid(void);
|
|
|
|
int osal_delay(unsigned seconds);
|
|
|
|
void osal_udelay(unsigned us);
|
|
|
|
void osal_yield(void);
|
2017-05-24 07:16:25 +08:00
|
|
|
bool osal_istty(int fd);
|
2018-03-20 01:40:10 +08:00
|
|
|
std::string osal_tempdir(void);
|
2018-11-04 23:57:24 +08:00
|
|
|
int osal_removefile(const std::string &pathname);
|
2017-05-24 07:43:43 +08:00
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#ifndef STDIN_FILENO
|
|
|
|
#define STDIN_FILENO _fileno(stdin)
|
|
|
|
#endif
|
|
|
|
#ifndef STDOUT_FILENO
|
|
|
|
#define STDOUT_FILENO _fileno(stdout)
|
|
|
|
#endif
|
|
|
|
#ifndef STDERR_FILENO
|
|
|
|
#define STDERR_FILENO _fileno(stderr)
|
|
|
|
#endif
|
|
|
|
#endif /* _MSC_VER */
|