[OpenSmalltalk/opensmalltalk-vm] Add --quiet option to allow an app to own stdout and stderr (#395)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] Add --quiet option to allow an app to own stdout and stderr (#395)

Ben Coman-4
 

I envison to have --quiet and --debugoutput FILENAME as options in the future. For an end-user it is difficult to separate application output/error from VM one (e.g. the infamous thread priority warning).


You can view, comment on, or merge this pull request online at:

  https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395

Commit Summary

  • debug: Prepare to let the app own stderr
  • debug: Introduce the --quiet VM option to keep things silent

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Add --quiet option to allow an app to own stdout and stderr (#395)

Ben Coman-4
 

@bencoman commented on this pull request.


In platforms/unix/vm/sqUnixMain.c:

> @@ -863,13 +863,13 @@ sqInt  primitivePluginRequestState(void)	{ return dpy->primitivePluginRequestSta
 
 static void outOfMemory(void)
 {
-  /* pushing stderr outputs the error report on stderr instead of stdout */
+  /* pushing VM_ERR() outputs the error report on VM_ERR() instead of stdout */

What is the significance of changing this comment? (I'm not familiar with pushOutputFile)


In platforms/unix/vm/sqUnixMain.c:

>    pushOutputFile((char *)STDERR_FILENO);
   error("out of memory\n");
 }
 
 /* Print an error message, possibly a stack trace, do /not/ exit.
- * Allows e.g. writing to a log file and stderr.
+ * Allows e.g. writing to a log file and VM_ERR().

Same again. Search/replaced within comment useful?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395?email_source=notifications\u0026email_token=AIJPEW4U2F2NJITIQ63MWMDPVQGYTA5CNFSM4HKXXHEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBYWONUA#pullrequestreview-237823696", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395?email_source=notifications\u0026email_token=AIJPEW4U2F2NJITIQ63MWMDPVQGYTA5CNFSM4HKXXHEKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOBYWONUA#pullrequestreview-237823696", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Add --quiet option to allow an app to own stdout and stderr (#395)

Ben Coman-4
In reply to this post by Ben Coman-4
 

An expansive scattering of changes, but pretty much all of them are...
simply refactoring fprintf(stderr, ==> fprintf(VM_ERR(),
excepting the following which looks fine...

static FILE *VM_ERR_FILE = NULL;

FILE *VM_ERR(void)
{
	if (!VM_ERR_FILE) {
		VM_ERR_FILE = stderr;
	}
	return VM_ERR_FILE;
}

void sqSetVmErrFile(FILE *file)
{
	VM_ERR_FILE = file;
}



static int vm_parseArgument(int argc, char **argv)
{
   ...
   else if (!strcmp(argv[0], VMOPTION("quiet"))) {
       sqSetVmErrFile(fopen("/dev/null", "w"));
       return 1;
    }
    return 0; /* option not recognised */
}

(void) printUsage {
        ...
	printf("  "VMOPTION("quiet")"                don't print debugging messages from the VM\n");
        ...
}

        

And the following seems correct to align with sq.h...

- extern void addIdleUsecs(long idleUsecs);
+ extern void addIdleUsecs(sqInt idleUsecs);

https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/83aebb122ca2fd32a86ef8b7d478ed32b12dc6b1/platforms/Cross/vm/sq.h#L180


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395?email_source=notifications\u0026email_token=AIJPEW7MAOBSGEALOKDWVDTPVQHA7A5CNFSM4HKXXHEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVOV7TQ#issuecomment-492658638", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/395?email_source=notifications\u0026email_token=AIJPEW7MAOBSGEALOKDWVDTPVQHA7A5CNFSM4HKXXHEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVOV7TQ#issuecomment-492658638", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>