Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » U++ TheIDE and Library: Releases and ChangeLogs » MT
MT [message #20412] Tue, 17 March 2009 13:36 Go to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
I have added two MT synchronization primitives that were missing:

ConditionVariable (posix semantics, implemented for Win32 using per-thread semaphores)

LazyUpdate (this one is my invention and is important everywhere mutable evaluation caches are used - but I will have to put it where it belong yet... Smile

Mirek
Re: MT [message #20476 is a reply to message #20412] Fri, 20 March 2009 13:21 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

After update windows version with MINGW I cannot compile any project with MT flag. (testcase - reference\SQL_MySql).

It write:

----- MySql ( MT GCC DEBUG DEBUG_FULL BLITZ WIN32 ) (1 / 5)
MySql.cpp
In file included from C:\upp\uppsrc/Core/Core.h:401,
                 from C:\upp\uppsrc/Sql/Sql.h:4,
                 from C:\upp\uppsrc\MySql\/MySql.h:6,
                 from C:\upp\uppsrc\MySql\MySql.cpp:1:
C:\upp\uppsrc/Core/Mt.h:237: error: ISO C++ forbids declaration of 'sCVWaiter_' with no type
C:\upp\uppsrc/Core/Mt.h:237: error: expected ';' before '*' token
MySql: 1 file(s) built in (0:03.15), 3157 msecs / file, duration = 4302 msecs

There were errors. (0:04.37)

when I click on error string, I see :
class ConditionVariable {
	Mutex                 mutex;
	friend struct sCVWaiter_;
	
	sCVWaiter_ *head, *tail;
	^^^^^^^^^^^^^^^^^^^^^^^^ this line call error.
public:
	void Wait(Mutex& m);
	void Signal();
	void Broadcast();
	
	ConditionVariable();
	~ConditionVariable();
};



Can you help me to resolve this error.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}

[Updated on: Fri, 20 March 2009 13:26]

Report message to a moderator

Re: MT [message #20477 is a reply to message #20476] Fri, 20 March 2009 14:37 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
sergeynikitin wrote on Fri, 20 March 2009 08:21

After update windows version with MINGW I cannot compile any project with MT flag. (testcase - reference\SQL_MySql).

It write:

----- MySql ( MT GCC DEBUG DEBUG_FULL BLITZ WIN32 ) (1 / 5)
MySql.cpp
In file included from C:\upp\uppsrc/Core/Core.h:401,
                 from C:\upp\uppsrc/Sql/Sql.h:4,
                 from C:\upp\uppsrc\MySql\/MySql.h:6,
                 from C:\upp\uppsrc\MySql\MySql.cpp:1:
C:\upp\uppsrc/Core/Mt.h:237: error: ISO C++ forbids declaration of 'sCVWaiter_' with no type
C:\upp\uppsrc/Core/Mt.h:237: error: expected ';' before '*' token
MySql: 1 file(s) built in (0:03.15), 3157 msecs / file, duration = 4302 msecs

There were errors. (0:04.37)

when I click on error string, I see :
class ConditionVariable {
	Mutex                 mutex;
	friend struct sCVWaiter_;
	
	sCVWaiter_ *head, *tail;
	^^^^^^^^^^^^^^^^^^^^^^^^ this line call error.
public:
	void Wait(Mutex& m);
	void Signal();
	void Broadcast();
	
	ConditionVariable();
	~ConditionVariable();
};



Can you help me to resolve this error.


MT and Mingw are incompatible.

Mirek
Re: MT [message #20479 is a reply to message #20477] Fri, 20 March 2009 14:43 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

Yet it was excellent. At the SVN version 745 all compiled fine

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: MT [message #20480 is a reply to message #20479] Fri, 20 March 2009 14:47 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, I have only tested with "candidate" mingw - and I got a bunch of errors regarding TLS variables (something else).

I guess I could try previous mingw version, I believe TLS worked there. Yet, is is frustrating when such important feature gets dropped...

Mirek
Re: MT [message #20481 is a reply to message #20479] Fri, 20 March 2009 14:47 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

It's a pity. I have found a version of the Windows version to run under WINE, and all seem to be working well.

Do I have to install a monster MSC?

Maybe there is some alternative solution?


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: MT [message #20482 is a reply to message #20481] Fri, 20 March 2009 14:52 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

I do not like Microsoft. Mad

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: MT [message #20483 is a reply to message #20481] Fri, 20 March 2009 14:54 Go to previous messageGo to next message
masu is currently offline  masu
Messages: 378
Registered: February 2006
Senior Member
Add another struct keyword to *head and *tail declarations, this should fix the problem.

Matthias
Re: MT [message #20484 is a reply to message #20480] Fri, 20 March 2009 14:54 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
Well, whatever...

Fixed.

class ConditionVariable {
	Mutex                 mutex;
	friend struct sCVWaiter_;
	
	struct sCVWaiter_ *head, *tail;
	
public:
	void Wait(Mutex& m);
	void Signal();
	void Broadcast();
	
	ConditionVariable();
	~ConditionVariable();
};


Mirek
Re: MT [message #20486 is a reply to message #20412] Fri, 20 March 2009 14:57 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

It's market.I write commercial software for users of Windows. Sad

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: MT [message #20487 is a reply to message #20486] Fri, 20 March 2009 14:59 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor


During the conversation I unnoticeable Fix of problem.
Ran test.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}

[Updated on: Fri, 20 March 2009 14:59]

Report message to a moderator

Re: MT [message #20489 is a reply to message #20487] Fri, 20 March 2009 15:04 Go to previous message
sergeynikitin is currently offline  sergeynikitin
Messages: 748
Registered: January 2008
Location: Moscow, Russia
Contributor

Patch is WORK!!!

Thanks!!!


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Previous Topic: Painter 2.0
Next Topic: readonly nests
Goto Forum:
  


Current Time: Fri Mar 29 11:09:17 CET 2024

Total time taken to generate the page: 0.01838 seconds