This was so helpful it puts my university to shame. How education remains in the XVI century while there are these gems available for all of us to watch for free pisses me off. Were this explained in a b&w book by some bad communicator it could've easily taken half a semester. THANK YOU very very much, amazing video!!! :):)
My teacher never explained the program hang from not having both sides of the FIFO opened at the same time and it was really bugging me. Thank you so much for your explanation!
Hey you've been such a huge help man... I'm a college student and couldn't find an appropriate and correct video... Now I realize that I had a gem all along with me
Multumesc Sergiu. Maine chiar am un examen la o materie pe nume SEI(sisteme embedded inteligente). Materialele is super vechi si nu is foarte clare descrise de profesor insa aici explici foarte amanuntit si insfarsit incep sa le inteleg si eu. Fac cinste cu o bere daca trec :) (si chiar daca nu trec, ti-as face cinste)
what will happen if we try to open the file descriptor with RDWR ( both read & write ) , I tired it but the value is not getting written instead it gives a garbage value. If anyone knows about this please respond guys
There's a good answer to this question here: stackoverflow.com/questions/15055065/o-rdwr-on-named-pipes-with-poll Basically you have to make sure that whatever read() returns is valid. You might have read nothing from the fifo and that's why you were left with a garbage value
Hey, i want to know how open() is implemented in the fcntl.h header file. Is there a way to look at the header files and try to implement the open function from scratch?
You're a gem man. Extremely clear/thorough explanations and examples. Your vids have been carrying me through my uni OS concepts course. Greatly appreciate you, thanks.
you probably dont care but does someone know a trick to get back into an instagram account..? I was stupid forgot the account password. I appreciate any tips you can give me!
@Ray Emmitt i really appreciate your reply. I found the site on google and im in the hacking process now. Seems to take quite some time so I will reply here later when my account password hopefully is recovered.
Amazing explanation! My class and the textbook we use makes this concept so cryptic to learn, you on the other hand explain it like a pro in a way that makes sense.
i watching the whole playlist and your videos are really great! thx for its helping me a lot! anyway in this exemple, if the file "myfifo1" already exist is there a way to be sure it's not a "normal" file instead of a fifo?
I tried doing this in a tcp client server socket communication where the client sends a string to the server through the fifo, and server reads it and checks if it is a palindrome. It hanged after inputting the string. I don't know what went wrong.
thank you so much for these videos, i literally have an exam in 2 days and my prof makes everything seem so complicated, you literally saved me. i have a question tho, just out of curiosity, are you romanian? you kinda give me that vibe.
Hey man, I'm having a small issue. I can't create FIFO with the mkfifo("fifoname", 0777); I wrote an if statement to check if the return value was -1 and it was. I used strerror and it says Operation not supported. I know it's hard to answer without seeing the code or the directory but is there anything you can do?
You must be trying to run under WSL and you're creating a fifo on the Windows' file system. I think you could try creating the fifo directly in the wsl like so: mkfifo("/tmp/fifoname", 0777);
@@CodeVault Thanks. Yes, I was using wsl. Would this cause a problem? I have a homework about FIFO's and I worry it would cause a problem so, I started using Ubuntu but I also wonder If it would work.
doing the read and write (O_RDWR) option do you have to specify fd[1] when writing to the fd or is fd just fine like in the example given great videos thus far man
You'd have to convert the 9 and 7 to characters. char res[10]; res[0] = (x / 10) + '0'; res[1] = (x % 10) + '0'; So basically we get each digit (we get the 9 from x / 10 since integers are rounded down and 7 from x % 10). Then we add the character '0' (or the integer 48) to get the ascii value of each digit. Then you can simply use write() on res[0] and res[1]
You've made a small mistake at 3:25 - 0777 allows every user on the system to read, write *and execute* that fifo. For pipes I usually do 0660 and set an appropriate group for the users that will run it.
Nonono, read will always wait for data to be in the named pipe (fifo). Also, as I said before, the read end won't return until someone else opens the write end and vice-versa
Ah, you simply write the ASCII characters for 9 and 7 to the buffer. So you write 57 and then you write 55 and you should get the string 97 on the screen
Hi, I watched Your video now 5 times, but I can't apply it to my problem. I try to send a simple Text of 12 Chars from my C++ dll file to my C# program over a named pipe. But I always got stuck. Maybe You can make an example about it?
Hi! I haven't tried sending data between processes built from different languages... Maybe you have to make sure C# and C++ use the same exact format. You can send me the code and maybe I can figure something out
in my university they make me use pipes for processes and fifo (message queues) for threads all in synchronization problems... it's so difficult for me
I am the 3rd guy that is going to pass through this, what sucks thoe is learning this with such limited deadline, the teacher is a little hardcore one.
De la Victor stiu de canalul tau. Uitasem ca se numeste Code Vault, dar dupa ce am ascultat putin accentul si m-am uitat mai bine la figura fetei, mi-am adus aminte =)) felicitari!
In this video I use a Logitech C270 web cam (not the best but reliable on both Linux and Windows) and a AT2020 condenser microphone (the XLR version). Nowadays I upgraded the camera to a DSLR, namely the Canon EOS M200
Is it possible to have a video of shared memory for IPC using semaphores as they are faster than sockets in local communication mode? Would be helpful if you could share knowledge on this topic also.
You have to use the Win32 API which is much more different. Here's the function for creating a FIFO on Windows: docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createnamedpipea