Esempio n. 1
0
void elist_push( ELIST *volatile *list,
		   ELIST *volatile *node,
		   cexception_t *ex )
{
    sllist_push( (SLLIST *volatile *)list,
		 (SLLIST *volatile *)node,
		 ex );
}
Esempio n. 2
0
bool game_buffer_editor_add_mpk_job(game_buffer *game_buffer, game_buffer_editor_job **ptr_to_new_job) {
  game_buffer_editor_job *job = (game_buffer_editor_job *)memory_pool_allocate(&game_buffer->editor->job_memory_pool);
  if (!job) {
    return false;
  }
  *job = {};
  static uint64 job_id_counter = 0;
  job->id = job_id_counter;
  job_id_counter += 1;
  job->status = game_buffer_editor_job_progress;
  job->type = game_buffer_editor_job_mpk_import_type;
  sllist_push(&game_buffer->editor->job_list, job);
  *ptr_to_new_job = job;
  return true;
}
Esempio n. 3
0
File: apby.cpp Progetto: yngccc/apby
void mpk_import_add_named_pipe_instance(common_vars *common_vars) {
  HANDLE named_pipe_handle = CreateNamedPipeA("\\\\.\\pipe\\" m_mpk_import_named_pipe_name, PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED, PIPE_TYPE_BYTE, PIPE_UNLIMITED_INSTANCES, 4096, 4096, 0, nullptr);
  if (!named_pipe_handle) {
    m_last_error_str(err);
    m_die("cannot create mpk import named pipe instance, call to \"CreateNamedPipeA\" failed\nerr: %s", err);
  }
  HANDLE io_completion_port = CreateIoCompletionPort(named_pipe_handle, common_vars->io_completion_port, mpk_import_named_pipe_event, 0);
  if (!io_completion_port) {
    m_last_error_str(err_str);
    m_die("cannot connect mpk import named pipe to io completion port, call to \"CreateIoCompletionPort\" failed\nerr: %s", err_str);
  }
  mpk_import_named_pipe_instance *new_named_pipe_instance = (mpk_import_named_pipe_instance *)memory_pool_allocate(&common_vars->mpk_import_named_pipe_instance_memory_pool);
  *new_named_pipe_instance = {};
  new_named_pipe_instance->handle = named_pipe_handle;
  sllist_push(&common_vars->mpk_import_named_pipe_instance_list, new_named_pipe_instance);
  ConnectNamedPipe(named_pipe_handle, &new_named_pipe_instance->overlapped);
}