On Mon, 26 Jul 2010, Levente Uzonyi wrote:
On Mon, 26 Jul 2010, Andreas Raab wrote:
On 7/26/2010 6:59 AM, Levente Uzonyi wrote:
I found a few issues with logging on unix:
- SqueakSSL >> #primitiveSSL:setIntProperty:toValue: calls
#primitiveSetStringProperty instead of #primitiveSetIntProperty.
- #primitiveSetIntPropery always fails, because sqSetIntPropertySSL always
returns 0, it should return 1 at the end of the function. After fixing these #logLevel: with argument 1 didn't give any output. It works with 2 and 3. It's a bit annoying that the log messages are not flushed (printf is buffered), so one has to generate a few requests to see the result of the first one (I can't flush stdout without FFI or OSProcess).
Thanks, I will fix that. For some reason the output in my Ubuntu is
Thanks.
unbuffered; any ideas why that would be?
Not really. IIRC printf should automatically flush on \n, but it somehow doesn't do it.
Looking after streams and buffering it turns out that it's mostly true, but not always:
"The three types of buffering available are unbuffered, block buffered, and line buffered. When an output stream is unbuffered, information appears on the destination file or terminal as soon as written; when it is block buffered many characters are saved up and written as a block; when it is line buffered characters are saved up until a newline is output or input is read from any stream attached to a terminal device (typically stdin). The function fflush(3) may be used to force the block out early. (See fclose(3).) Normally all files are block buffered. When the first I/O operation occurs on a file, malloc(3) is called, and a buffer is obtained. If a stream refers to a terminal (as stdout normally does) it is line buffered. The standard error stream stderr is always unbuffered by default." -- from the man page of setvbuf
Since I started the vm with nohup, stdout didn't refer to a terminal, so it's not line buffered.
Levente
Levente
I attached the output of [WebClient httpGet: 'https://www.google.com/search?q=squeak'] generated with #logLevel: 3.
Your analysis in the other email is correct. The error code means the CA certs are missing and installing them should fix the problem.
Cheers,
- Andreas