Click here to Skip to main content
15,894,017 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionMessage Closed Pin
14-Feb-24 12:06
Salvatore Terress14-Feb-24 12:06 
AnswerRe: How to implement sudo -S and -ps options Pin
k505414-Feb-24 12:57
mvek505414-Feb-24 12:57 
GeneralMessage Closed Pin
15-Feb-24 11:17
Salvatore Terress15-Feb-24 11:17 
GeneralRe: How to implement sudo -S and -ps options Pin
Richard MacCutchan15-Feb-24 21:02
mveRichard MacCutchan15-Feb-24 21:02 
GeneralRe: How to implement sudo -S and -ps options Pin
jschell15-Feb-24 11:41
jschell15-Feb-24 11:41 
AnswerRe: How to implement sudo -S and -ps options Pin
Richard MacCutchan14-Feb-24 21:46
mveRichard MacCutchan14-Feb-24 21:46 
Questionpurpose of parameter value of -1 ? Pin
Salvatore Terress10-Feb-24 5:14
Salvatore Terress10-Feb-24 5:14 
AnswerRe: purpose of parameter value of -1 ? Pin
k505410-Feb-24 5:21
mvek505410-Feb-24 5:21 
AnswerRe: purpose of parameter value of -1 ? PinPopular
Mircea Neacsu10-Feb-24 5:24
Mircea Neacsu10-Feb-24 5:24 
GeneralRe: purpose of parameter value of -1 ? Pin
Salvatore Terress10-Feb-24 6:14
Salvatore Terress10-Feb-24 6:14 
GeneralRe: purpose of parameter value of -1 ? Pin
Richard MacCutchan10-Feb-24 21:23
mveRichard MacCutchan10-Feb-24 21:23 
AnswerRe: purpose of parameter value of -1 ? Pin
CPallini10-Feb-24 22:32
mveCPallini10-Feb-24 22:32 
GeneralRe: purpose of parameter value of -1 ? Pin
Richard MacCutchan11-Feb-24 2:19
mveRichard MacCutchan11-Feb-24 2:19 
GeneralRe: purpose of parameter value of -1 ? Pin
CPallini11-Feb-24 4:12
mveCPallini11-Feb-24 4:12 
QuestionUsing /bin/sh "partially " works Pin
Salvatore Terress9-Feb-24 6:10
Salvatore Terress9-Feb-24 6:10 
AnswerRe: Using /bin/sh "partially " works Pin
Mircea Neacsu9-Feb-24 6:47
Mircea Neacsu9-Feb-24 6:47 
AnswerRe: Using /bin/sh "partially " works Pin
k50549-Feb-24 6:59
mvek50549-Feb-24 6:59 
AnswerRe: Using /bin/sh "partially " works Pin
jschell9-Feb-24 12:29
jschell9-Feb-24 12:29 
QuestionConcurrent linked list Pin
cod3Ninj47-Feb-24 23:40
cod3Ninj47-Feb-24 23:40 
Hi, I'm working on implementing a concurrent queue (implemented as single linked list) and I've encountered a problem. The structure of my linked list node looks like this:
C
struct queue {
    queue *head, *tail;
    pthread_mutex_t head_mut, tail_mut;
}
struct node {
    _Atomic(node*) next;
    int item;
};

I am currently implementing pop and push operations, both of them have their own separate mutex - tail_mut and head_mut respectively.
The list always includes a dummy node at the beginning.

I'm encountering an issue when there's only one element in the list (the dummy node plus this one element). I can't figure out how to handle the case where one thread is trying to push an element and another is trying to pop an element from the list.

The problem arises when we perform a pop operation first and change the head to head->next. In this scenario, another thread can still push elements to the list by adding them to the end of the list (tail). However, the list has only one element (the one that is being popped = tail), so i must find a solution to somehow block this operation or to signal 'pushing' thread that it should push to the head not to tail.

Acquiring the tail mutex would obviously solve the problem, but I'm looking for a potentially more efficient solution (so I would not block push operations by acquiring the tail mutex).

Is there a more efficient way to handle this situation? Any suggestions would be greatly appreciated.
AnswerRe: Concurrent linked list Pin
jschell9-Feb-24 12:32
jschell9-Feb-24 12:32 
Questionget_string memory leak? Pin
mike74115-Feb-24 9:57
mike74115-Feb-24 9:57 
AnswerRe: get_string memory leak? Pin
Dave Kreskowiak5-Feb-24 10:03
mveDave Kreskowiak5-Feb-24 10:03 
GeneralRe: get_string memory leak? Pin
Mircea Neacsu5-Feb-24 14:13
Mircea Neacsu5-Feb-24 14:13 
GeneralRe: get_string memory leak? Pin
mike74115-Feb-24 20:05
mike74115-Feb-24 20:05 
GeneralRe: get_string memory leak? Pin
Mircea Neacsu5-Feb-24 20:22
Mircea Neacsu5-Feb-24 20:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.