SC_LanguageClient::~SC_LanguageClient()
{
	lockInstance();
	free(mName);
	gInstance = 0;
	unlockInstance();
}
SC_LanguageClient::SC_LanguageClient(const char* name)
{
	mHiddenClient = new HiddenLanguageClient;

	lockInstance();

	if (gInstance) {
		unlockInstance();
		fprintf(stderr, "SC_LanguageClient already running\n");
		abort();
	}

	mHiddenClient->mName = name;
	gInstance = this;

	unlockInstance();
}
SC_LanguageClient::SC_LanguageClient(const char* name)
	: mName(0),
	  mPostFile(0),
	  mScratch(0),
	  mRunning(false)
{
	lockInstance();

	if (gInstance) {
		unlockInstance();
		fprintf(stderr, "SC_LanguageClient already running\n");
		abort();
	}

	mName = strdup(name);
	gInstance = this;

	unlockInstance();
}