Does connect() block for TCP socket?

There’s hardly any “immediately” regarding networking, stuff can be lost on the way, and an operation that should be performed immediately in theory might not do so in practice, and in any case there’s the end to end transmission time. However connect() on a TCP socket is a blocking operation unless the socket descriptor is … Read more

Install tkinter for Python

It is not very easy to install Tkinter locally to use with system-provided Python. You may build it from sources, but this is usually not the best idea with a binary package-based distro you’re apparently running. It’s safer to apt-get install python-tk on your machine(s). (Works on Debian-derived distributions like for Ubuntu; refer to your package manager … Read more

Python subprocess.Popen “OSError: [Errno 12] Cannot allocate memory”

As a general rule (i.e. in vanilla kernels), fork/clone failures with ENOMEM occur specifically because of either an honest to God out-of-memory condition (dup_mm, dup_task_struct, alloc_pid, mpol_dup, mm_init etc. croak), or because security_vm_enough_memory_mm failed you while enforcing the overcommit policy. Start by checking the vmsize of the process that failed to fork, at the time of the fork attempt, and then compare to the amount of free memory (physical and swap) as it … Read more

WSL – GEDIT Unable to init server: Could not connect: Connection refused

You need an X server to run graphical applications like gedit. I use VcXsrv or Xming on my Windows desktops, both are very small and easy to install, but there exist other servers like Cygwin/X. Short instructions for VcXsrv/Xming: download and install the Windows package start XLaunch or Xming export the DISPLAY variable in your WSL terminal and start geditexport DISPLAY=0:0 … Read more

The difference between stdout and STDOUT_FILENO

stdout is a FILE* “constant” giving the standard outout stream. So obviously fprintf(stdout, “x=%d\n”, x); has the same behavior as printf(“x=%d\n”, x);; you use stdout for <stdio.h> functions like fprintf, fputs etc.. STDOUT_FILENO is an integer file descriptor (actually, the integer 1). You might use it for write syscall. The relation between the two is STDOUT_FILENO == fileno(stdout) (Except after you do weird things like fclose(stdout);, or perhaps some freopen after some fclose(stdin), which you should … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)