OpenSSL 1.1.1-pre2
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
|
||||
# include <ucontext.h>
|
||||
# include <setjmp.h>
|
||||
# include "e_os.h"
|
||||
|
||||
typedef struct async_fibre_st {
|
||||
ucontext_t fibre;
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "async_locl.h"
|
||||
|
||||
#include <openssl/err.h>
|
||||
#include <internal/cryptlib_int.h>
|
||||
#include "internal/cryptlib_int.h"
|
||||
#include <string.h>
|
||||
|
||||
#define ASYNC_JOB_RUNNING 0
|
||||
@@ -36,7 +36,7 @@ static async_ctx *async_ctx_new(void)
|
||||
{
|
||||
async_ctx *nctx = NULL;
|
||||
|
||||
nctx = OPENSSL_malloc(sizeof(async_ctx));
|
||||
nctx = OPENSSL_malloc(sizeof(*nctx));
|
||||
if (nctx == NULL) {
|
||||
ASYNCerr(ASYNC_F_ASYNC_CTX_NEW, ERR_R_MALLOC_FAILURE);
|
||||
goto err;
|
||||
@@ -81,7 +81,7 @@ static ASYNC_JOB *async_job_new(void)
|
||||
{
|
||||
ASYNC_JOB *job = NULL;
|
||||
|
||||
job = OPENSSL_zalloc(sizeof(ASYNC_JOB));
|
||||
job = OPENSSL_zalloc(sizeof(*job));
|
||||
if (job == NULL) {
|
||||
ASYNCerr(ASYNC_F_ASYNC_JOB_NEW, ERR_R_MALLOC_FAILURE);
|
||||
return NULL;
|
||||
@@ -336,7 +336,7 @@ int ASYNC_init_thread(size_t max_size, size_t init_size)
|
||||
return 0;
|
||||
}
|
||||
|
||||
pool->jobs = sk_ASYNC_JOB_new_null();
|
||||
pool->jobs = sk_ASYNC_JOB_new_reserve(NULL, init_size);
|
||||
if (pool->jobs == NULL) {
|
||||
ASYNCerr(ASYNC_F_ASYNC_INIT_THREAD, ERR_R_MALLOC_FAILURE);
|
||||
OPENSSL_free(pool);
|
||||
@@ -358,7 +358,7 @@ int ASYNC_init_thread(size_t max_size, size_t init_size)
|
||||
break;
|
||||
}
|
||||
job->funcargs = NULL;
|
||||
sk_ASYNC_JOB_push(pool->jobs, job);
|
||||
sk_ASYNC_JOB_push(pool->jobs, job); /* Cannot fail due to reserve */
|
||||
curr_size++;
|
||||
}
|
||||
pool->curr_size = curr_size;
|
||||
|
||||
+20
-22
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Generated by util/mkerr.pl DO NOT EDIT
|
||||
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@@ -8,31 +8,30 @@
|
||||
* https://www.openssl.org/source/license.html
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <openssl/err.h>
|
||||
#include <openssl/async.h>
|
||||
#include <openssl/asyncerr.h>
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
|
||||
# define ERR_FUNC(func) ERR_PACK(ERR_LIB_ASYNC,func,0)
|
||||
# define ERR_REASON(reason) ERR_PACK(ERR_LIB_ASYNC,0,reason)
|
||||
|
||||
static ERR_STRING_DATA ASYNC_str_functs[] = {
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_CTX_NEW), "async_ctx_new"},
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_INIT_THREAD), "ASYNC_init_thread"},
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_JOB_NEW), "async_job_new"},
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_PAUSE_JOB), "ASYNC_pause_job"},
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_START_FUNC), "async_start_func"},
|
||||
{ERR_FUNC(ASYNC_F_ASYNC_START_JOB), "ASYNC_start_job"},
|
||||
static const ERR_STRING_DATA ASYNC_str_functs[] = {
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_CTX_NEW, 0), "async_ctx_new"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_INIT_THREAD, 0),
|
||||
"ASYNC_init_thread"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_JOB_NEW, 0), "async_job_new"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_PAUSE_JOB, 0), "ASYNC_pause_job"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_START_FUNC, 0), "async_start_func"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, ASYNC_F_ASYNC_START_JOB, 0), "ASYNC_start_job"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
static ERR_STRING_DATA ASYNC_str_reasons[] = {
|
||||
{ERR_REASON(ASYNC_R_FAILED_TO_SET_POOL), "failed to set pool"},
|
||||
{ERR_REASON(ASYNC_R_FAILED_TO_SWAP_CONTEXT), "failed to swap context"},
|
||||
{ERR_REASON(ASYNC_R_INIT_FAILED), "init failed"},
|
||||
{ERR_REASON(ASYNC_R_INVALID_POOL_SIZE), "invalid pool size"},
|
||||
static const ERR_STRING_DATA ASYNC_str_reasons[] = {
|
||||
{ERR_PACK(ERR_LIB_ASYNC, 0, ASYNC_R_FAILED_TO_SET_POOL),
|
||||
"failed to set pool"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, 0, ASYNC_R_FAILED_TO_SWAP_CONTEXT),
|
||||
"failed to swap context"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, 0, ASYNC_R_INIT_FAILED), "init failed"},
|
||||
{ERR_PACK(ERR_LIB_ASYNC, 0, ASYNC_R_INVALID_POOL_SIZE),
|
||||
"invalid pool size"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
@@ -41,10 +40,9 @@ static ERR_STRING_DATA ASYNC_str_reasons[] = {
|
||||
int ERR_load_ASYNC_strings(void)
|
||||
{
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
|
||||
if (ERR_func_error_string(ASYNC_str_functs[0].error) == NULL) {
|
||||
ERR_load_strings(0, ASYNC_str_functs);
|
||||
ERR_load_strings(0, ASYNC_str_reasons);
|
||||
ERR_load_strings_const(ASYNC_str_functs);
|
||||
ERR_load_strings_const(ASYNC_str_reasons);
|
||||
}
|
||||
#endif
|
||||
return 1;
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
#include <internal/async.h>
|
||||
#include "internal/async.h"
|
||||
#include <openssl/crypto.h>
|
||||
|
||||
typedef struct async_ctx_st async_ctx;
|
||||
|
||||
@@ -145,6 +145,7 @@ int ASYNC_WAIT_CTX_clear_fd(ASYNC_WAIT_CTX *ctx, const void *key)
|
||||
while (curr != NULL) {
|
||||
if (curr->del == 1) {
|
||||
/* This one has been marked deleted already so do nothing */
|
||||
prev = curr;
|
||||
curr = curr->next;
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user