use super::ffi::{
ext_php_rs_worker_request_shutdown, ext_php_rs_worker_request_startup,
ext_php_rs_worker_reset_superglobals,
};
use crate::ffi::ZEND_RESULT_CODE_SUCCESS;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum WorkerError {
#[error("worker request startup failed")]
StartupFailed,
}
pub fn worker_request_shutdown() {
unsafe {
ext_php_rs_worker_request_shutdown();
}
}
pub fn worker_request_startup() -> Result<(), WorkerError> {
let result = unsafe { ext_php_rs_worker_request_startup() };
if result == ZEND_RESULT_CODE_SUCCESS {
Ok(())
} else {
Err(WorkerError::StartupFailed)
}
}
pub fn worker_reset_superglobals() {
unsafe {
ext_php_rs_worker_reset_superglobals();
}
}