Skip to content
Snippets Groups Projects
Commit e79ecf54 authored by Anatolii Kurotych's avatar Anatolii Kurotych
Browse files

[*] Remove abort. Fix crash

parent 9d942da8
No related branches found
No related tags found
No related merge requests found
......@@ -62,13 +62,13 @@ size_t circular_buffer_get_data_size(circular_buffer_t cBuf)
return cBuf->dataSize;
}
void circular_buffer_push(circular_buffer_t cBuf,void *src, size_t length)
void circular_buffer_push(circular_buffer_t cBuf, const void *src, size_t length)
{
if(length == 0)
return;
size_t writableLen = length;
void *pSrc = src;
const void *pSrc = src;
if(writableLen > cBuf->capacity)//in case of size overflow
{
......@@ -164,8 +164,18 @@ int circular_buffer_write_In_socket(circular_buffer_t cBuf, int sockfd)
{
if(cBuf->headOffset + cBuf->dataSize <= cBuf->capacity)
{
log_it(L_CRITICAL, "We always trying write all data!");
abort();
rdLen = send(sockfd,
&cBuf->buffer[cBuf->headOffset],
cBuf->dataSize, MSG_DONTWAIT | MSG_NOSIGNAL);
if(rdLen < 0) {
log_it(L_ERROR, "Can't write data in socket. %s", strerror(errno));
return -1;
}
cBuf->headOffset += rdLen;
if(cBuf->headOffset == cBuf->capacity)
cBuf->headOffset = 0;
}
else
{
......
......@@ -34,7 +34,7 @@ extern size_t circular_buffer_get_capacity(circular_buffer_t cBuf);
extern size_t circular_buffer_get_data_size(circular_buffer_t cBuf);
// Push data to the tail of a circular buffer from 'src' with 'length' size in byte.
extern void circular_buffer_push(circular_buffer_t cBuf,void *src, size_t length);
extern void circular_buffer_push(circular_buffer_t cBuf, const void *src, size_t length);
// Pop data from a circular buffer to 'dataOut' with wished 'length' size in byte,return the actual data size in byte popped out,which is less or equal to the input 'length parameter.
extern size_t circular_buffer_pop(circular_buffer_t cBuf, size_t length, void *dataOut);
......
Subproject commit d2257789e0c796a5a3b637e14dcbaf8a8c7880cc
Subproject commit d40ba8973440b7c712d5a64df03a312adcf7c2fd
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment