Is the standard C++ library provided in Solaris 9 thread-safe?

Hi,
I cannot find any documentation anywhere that says that the standard C++ library in Solaris 9 (provided by Rogue Wave) is thread safe.
I have seen evidence that makes me think it is not - however, I was wondering if anyone could provide any insight. If they are not, where could I obtain the libraries that are thread safe?
The libraries of interest are:
/lib/sparcv9/libCstd.so.1 &
/lib/sparcv9/libCrun.so.1
Thankyou in advance.

Whether the library is thread safe depends on what you mean by thread safety. Except for the 8 standard iostream objects (std::cin, std::cout, etc.), simultaneous accesses from multiple threads to all objects of standard library types must be synchronized by the user. E.g., it's not safe to read or write the same container object (e.g., std::vector, or std::string) from multiple threads at the same time. The C++ localization library imposes some additional restrictions because of its interactions with the global C locale.

Similar Messages

  • Deactivate the standard document library feature

    Hey,
    I have created a custom document library definition. It works fine.
    Is it possible to deactivate the standard document library when I activate the feature with the custom document library definition?
    Thanks for your help
    Stefan 

    Hi,
    According to your description, my understanding is that you want to deactivate the document library definition when activate the custom document library feature.
    In the
    SPListTemplate class , there is no remove or delete method, so it could not be achieved in FeatureDeactivating event.
    As a workaround, if you want to force user to use the custom document library template, you can hide the OOTB document library template in the add app layout page using Jquery. It is located at the path below:
    C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\TEMPLATE\LAYOUTS\AddAnApp.aspx
    You can add the Jquery code under the PlaceHolderMain tag to achieve it. The document library template is a first li element under ul element.
    Here is a code snippet for your reference:
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
    <script>
    $( document ).ready(function() {
    $( "#scrollDiv ul li" ).first().hide();
    </script>
    Here are some detailed code demo for your reference:
    Jquery find the first li
    Jquery hide funtion
    Thanks
    Best Regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Using the Standard Template Library with 5.0 using 4.2 compatibility mode

    Has anyone used the Standard Template Library with the 5.0 release of the complier using the -compat=4 flag ?

    It's not your system, unfortunately. It's iTunes 5.0. I have XP, a brand new drive and Nero. I can burn all sorts of CDs, just none from iTunes.
    I have gotten several emails from Apple regarding this issue, none of which helped. The last response I got said they were working on my problem. Right now, the best solution that I can come up with, although I'm not sure how to do it, is back up your songs as a data CD, uninstall 5.0 and reinstall version 4.9.
    If you go back a few days (or maybe a week) in the discussions, someone posted a link for 4.9. If you can do this and successfully install 4.9 you will have no problem burning CDs. I just haven't had any luck burning my songs as data. I have 4.9 on an older computer and can burn CDs for days. So all I have to do is get my songs to the old PC and I'll be in business.

  • The get() of Vector class, is it thread safe??

    Hi all:
    the get() of Vector class, is it thread safe?? I looked into the API, but no info is available, so any help is appreciated

    You just have to look out when you perform two or more methods on the Vector in sucession. Then it's better to lock on the vector itself. If you for instance access the vector to query whether the size is greater than zero and immediately remove an item while another thread is removing elements from the same vector, you might get a dirty read and call get() on the vector while there are no elements left.

  • Can I customize the Standard OA Pages provided by Oracle...?

    Hi,
    Can I be able to customize the standard oracle application framework pages provided by Oracle ?
    If so, May I request you to let me know the process ?
    And Can I find the source java files for the class files and xml files that are present on teh server ?
    Thanks

    Hi,
    Jave files you can get from JAVA_TOP under specified path and XML files for pages you can get from APPL_TOP>product_top>MDS folder.
    While customizing the seeded objects make sure you are not going to modify any seeded object, try to extend it.
    Regards,
    Reetesh Sharma

  • Old iostreams library re-entrant?  thread safe?

    We are using -library=iostream to build our product code. Is this old-style iostream library thread safe? or re-entrant?
    It looks like we will need to change the iostream header file references to ANSI style (no dot-h) in order to use ANSI iostreams (libCstd or stlport) - is that right?
    Thanks,
    Evelyn

    Evelyn wrote:
    What are the trade-offs between using libCstd and stlport?Compatibility and availability:
    libCstd is provided as part of Solaris. It is binary compatible across Solaris 8, 9, 10, and Nevada. It is binary compatible for use with all compilers from C++ 5.0 through C++ 5.9 (and the next release when that is availalble).
    STLport is shipped as part of the compiler. If you ship an application that uses it, you must also ship libstlport.so.1 as part of your application. (If your application does not use C++ shared libraries, you can link stlport statically instead.)
    Standards conformance:
    libCstd dates from C++ 5.0, and is not fully standard-conforming. Some valid C++ code will not compile using libCstd, and some features provided as workarounds in libCstd are non-standard and their use is not supported with other libraries.
    STLport has good conformance to the C++ Standard, but does not support locales.
    More details are in the C++ FAQ:
    http://developers.sun.com/sunstudio/documentation/ss12/mr/READMEs/c++_faq.html#LibComp                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Is Outside In's PDF Export library's function EXOpenExport thread-safe?

    I'm writing a C++ wrapper, for Node.js, around the Outside In PDF Export library, on Ubuntu Linux. Node.js has a single threaded event loop and therefor any long-running processing is done on a worker thread. So, my wrapper is calling all of the PDF Export methods inside of this worker thread. I mention this so that you can be sure of two things: this is a threaded environment, and all PDF Export functions are being called on the same worker thread. Also, I am not making use of any redirected IO or PDF Export-handled threading. I've initialized the library specifying to use no threads. So all of this processing should be occuring within the thread that I call the functions on.
    Everything seems to go fine when exporting a single PDF or even maybe two or three in quick succession. When I up the number of PDFs that I try to export to 5+, I receive a SIGSEGV segementation fault from within the OIT libs. The back trace is below:
    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 0x7ffff4fd0700 (LWP 1577)]
    0x00007fffeef1da26 in HandlePoolCreateHandle () from /usr/local/lib/pdfexport/libwv_core.so
    (gdb) bt
    #0 0x00007fffeef1da26 in HandlePoolCreateHandle () from /usr/local/lib/pdfexport/libwv_core.so
    #1 0x00007fffeef1925d in Win32VCreateHandle () from /usr/local/lib/pdfexport/libwv_core.so
    #2 0x00007fffed49046b in WrapBrush(void*, GdiBrush*) () from /usr/local/lib/pdfexport/libos_pdf.so
    #3 0x00007fffed46e8c8 in ?? () from /usr/local/lib/pdfexport/libos_pdf.so
    #4 0x00007fffed46df63 in GNGetOutputSolutionInfoAt () from /usr/local/lib/pdfexport/libos_pdf.so
    #5 0x00007fffeef1e32a in ?? () from /usr/local/lib/pdfexport/libwv_core.so
    #6 0x00007fffeef1e214 in ?? () from /usr/local/lib/pdfexport/libwv_core.so
    #7 0x00007fffeef18ed3 in Win32VLoadOS () from /usr/local/lib/pdfexport/libwv_core.so
    #8 0x00007fffeddffb24 in VwExportOpen () from /usr/local/lib/pdfexport/libex_pagelayout.so
    #9 0x00007ffff4062c4d in FAOpenExport () from /usr/local/lib/pdfexport/libsc_fa.so
    #10 0x00007ffff7e53270 in EXOpenExport () from /usr/local/lib/pdfexport/libsc_ex.so
    #11 0x00007ffff43c0a4d in topdf_convert(uv_work_s*) ()
    from /home/ryan/repos/pdf-service/node_modules/topdf/build/Release/topdf.node
    #12 0x00000000006e2ec7 in worker (arg=<optimized out>) at ../deps/uv/src/unix/threadpool.c:65
    #13 0x00007ffff6fa6e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
    #14 0x00007ffff6cd3cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6
    #15 0x0000000000000000 in ?? ()
    I'll explain the back trace a little. The function on #11 is the function inside my code. That is the function in which I call all of the OIT lib functions. The functions on lines #12 and higher are the Node.js-related threading functions, setting up the thread to run my code's function. Functions on lines #10 down to #1 are all the OIT-called functions.
    In the documentation for PDF Export, it says that if you're going to be using this library inside a threaded environment, then you need to call the init and deinit functions each time within the worker thread. I'm doing this in my code, which you can see here: https://github.com/ryancole/topdf/blob/master/src/topdf.cc#L29-L74
    Is there anything else that I need to be setting that would cause this? I'm only specifying the font directory, explicitly. Are these libraries actually thread-safe? It doesn't look like they are.

    Well, upon receiving a second opinion on the meaning of the phrasing in the documentation, I have got the library working in a threaded environment now. The first parameter to DEInitEx was supposed to specify to enable PTHREAD support, which I did not have. I thought that it meant something other than it actually does.

  • Is it possible to transfer a whole Spotify playlist to the standard music library?

    I'd like to transfer an extensive music collection, without having to purchase any content, or download it from the Internet - as this will either cost alot or take quite some time. Is there any way I can do this?
    Thanks.

    No, it did not solve the problem, as each laptop, although in the same location, has separate owners, with different Apple ID's. Therefore, I am assuming, for your suggestion to work, each laptop needs to have the same authorisation signatures? Thanks for trying to help. Perhaps you might have another suggestion.

  • Make openmotif the standard Motif library

    Hello world!
    I would like to suggest to replace lesstif by openmotif.
    Openmotif is now under LGPL and (unlike lesstif) _alive_.
    Furthermore lesstif programs are broken under Gnome3/mutter.
    Problem:
        * Run any program using lesstif under Gnome3/mutter (e.g. DDD)
        * Click "File"
        * Click "Edit"
        * Result: "File" menu will not close and "Edit" menu items are displayed at
                  the wrong place.
        * Programs using openmotif having proper menu behaviour
    I successfully built and tested the current Arch packages of DDD, xpdf & nedit
    by using openmotif 2.3.4 from community (other pkgs were not tested).
    Currently the following packages require lesstif:
        ddd, fbida, freewrl, grace, nedit, vtk, xlockmore, xpdf
    Any chance the switch might happen?

    karol wrote:
    init0 wrote:Sorry, I'm not on that mailing list. Can someone hint Sergej Pupykin that at least one user is in favor of this move!
    Done: https://mailman.archlinux.org/pipermail … 20715.html
    Thanks!

  • Adding a brush to the "standard" library

    We rarely use 'custom' brushes, normally just using the standard ones that come with CS6 for photo-retouching.
    We'd like to take a custom brush that is saved into another library, and copy it into the standard brush library, so we don't have to switch libraries to use that brush. Is there any way to accomplish this?
    Neil

    Well this is definitely a day for aging reminiscing!  Janee was just about the most helpful, and definitely the nicest, poster to the Usenet Photoshop groups. This would have been the mid 90s in the days of the first Windows versions of Photoshop.  I swapped a couple of emails with her not so long ago — mainly just say thanks for all the help back then, and glad that she is still around and doing her thing.
    I wouldn’t mind betting that myjanee.com was the first ever Photoshop tutorial site on the Internet, and it is wonderful to see how it has stood the test of time.   So anyone else here used to post to the Usenet Photoshop groups?

  • Problems Registering the Standard Taglib

              Hi,
              I am trying to use JSTL 1.0.2 , the Standard Tag Library from jakarta with WebLogic
              5.
              I have made proper entries in the web.xml. Have included the required jars in
              Classpath.
              This is how I am using it from a JSP
              <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
              And I get following errors when trying to access the JSP page
              resolving taglib uri 'http://java.sun.com/jstl/core' to taglib-location /WEB-INF/c.tld:
              Servlet failed with Exception
              weblogic.servlet.jsp.JspException: (line 1): Could not parse deployment descriptor:
              org.xml.sax.SAXParseException: Could not parse taglib, starting at line 3
              Can anyone help me with this?
              Thanx in advance
              Parag
              

              Hi,
              I found the same and the reason is that the definition of the taglib is wrongly
              given in the README of jakarta.
              Instead of
              <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
              you have to write
              <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
              Hope that still help...
              René
              "Parag" <[email protected]> wrote:
              >
              >Hi,
              >
              >I am trying to use JSTL 1.0.2 , the Standard Tag Library from jakarta
              >with WebLogic
              >5.
              >
              >I have made proper entries in the web.xml. Have included the required
              >jars in
              >Classpath.
              >
              >This is how I am using it from a JSP
              >
              ><%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
              >
              >And I get following errors when trying to access the JSP page
              >
              >resolving taglib uri 'http://java.sun.com/jstl/core' to taglib-location
              >/WEB-INF/c.tld:
              >
              >Servlet failed with Exception
              >weblogic.servlet.jsp.JspException: (line 1): Could not parse deployment
              >descriptor:
              >org.xml.sax.SAXParseException: Could not parse taglib, starting at line
              >3
              >
              >Can anyone help me with this?
              >
              >Thanx in advance
              >Parag
              >
              

  • Pending requests in the Standard Manager queue

    We are currently facing a situation in one of our Oracle EBS R12 instances, the current number of Standard Manager processes is set to 20, cache size 20 and sleep time 15 . We frequently observe that the concurrent requests get queued up in the Standard Manager queue (Concurrent->Manager->Administer).We have observed that the request queue gets cleared out when we temporarily increase the Standard Manager process to 30/40.But, the issue occurs again after some time, when we reset Standard manager process to 20.
    Any help in this regard will be highly helpful.
    OS: OEL 5.5 (x86)
    EBS: 12.1.1
    DB: 11.1.0.7
    Install type: Multi-Node
    Regards,
    Rupdipt

    Please see the docs referenced in your other thread -- Pending requests in the Standard Manager queue
    Also, see old threads which discuss the same topic.
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Concurrent+AND+Manager+AND+Performance&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Concurrent+AND+Manager+AND+Tuning&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Concurrent+AND+Manager+AND+Processes&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    https://forums.oracle.com/forums/search.jspa?threadID=&q=Concurrent+AND+Manager+AND+Pending&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Thanks,
    Hussein

  • The Seven Curses of the R6034 Runtime Library and CS6 Photoshop

    I have contacted the forums in November, begging for help with the “Seven curses” of the dreaded R6034 Runtime error when installing CS6 Photoshop. I;ve detailed the problem and the attempted remedies suggested, with no results!
    After installing and opening PS6 I get
    “Runtime Error! R6034 An application has made an attempt
    to load the C runtime library (Win7 64bit”
    Clicking on this it will come back seven times, after which PS6 starts.
    Following up on all the advice from Adobe Forums and Microsoft I've tried the following:
    Checked all my updates
    Checked for viruses and malware
    Run CCClean and SysMechanic
    Uninstall PS6
    Reboot
    Run Adobe Creative Suite Cleaner
    Restart
    Install CS6
    Install updates
    No change!
    I've also reinstalled the MS runtime library, tried to start in safe mode, all to no avail.
    I am on WIN7 SP1 Professional, 64, 3Ghz, 12Gig mem, fully updated. Wacom Intous 4 (PTK-640) tablet, Nikon Super Coolscan 5000 ED, driven by Viewscan.
    I have followed meticulously the suggestions with no avail. Unistalled the program Executed a registry clean Restarted the system Run the Adobe cleaner Restarted the system Reinstalled the Visual C++ runtime library
    Reinstalled CS6 from a fresh download Installed the update
    Erased the preferences file
    Did not migrate settings from CS5
    I have not installed any third party components.
    Still get the same error message 7 times, after which the program starts normally. CS6/32, CS5/32 and CS5/64 are working perfectly.
    To say that I am frustrated, angry and desperate is an understatement.
    I can not understand that a respectable company such as Adobe can noy suggest a workable solution and ignores my request for over 5 month!

    Thanks for your interest!
    the installed versions are vcredist_x86.exe 8.6 meg and vcredist_x64,exe 9.8 meg from http://www.microsoft.com/en-us/download/details.aspx?id=26999
    the problem remains.

  • Horizontal submenu on the standard SPRY menu in DWCS3

    Could someone help me with how to change the submenu of the
    standard Spry Widget in CS3 (Horizontal Menu Bar) also to show in
    Horizontal fashion rather than the standard vertical. I checked
    past threads but could not any sense of them (I am rather new
    altough have a basic understanding of CSS and XHTML). Also, is
    there anyone that knows how to add a third level? (also
    horizontal). The idea is to have a 1st level horizontal bar that on
    hoovering over a tag higlight the second level (to appear just
    below it) that relates to it and so on for the second level. So
    that the user can see the whole structure while hovering over the
    first to levels with the cursor and reach the bottom level (3rd).
    Not sure if I am clear but would appreciate any help from someone
    that knows more than me.
    Regards
    A

    Hello,
    I wonder if anyone can help. I created a Spry menu in DWCS3.
    I wanted it to have a transparent background so I tried two things.
    The first was to insert 'none' as the value for background-color as
    below, and the other was to delete the background-color line
    altogether. BOTH ways work fine in Firefox, but neither work in
    IE7. In IE7 you get a default white background, which is very
    annoying because my menu text is white and therefore you can't read
    it. This is the website in
    progress here
    > Any ideas? Many thanks, Ellie
    /* Menu items are a light gray block with padding and no text
    decoration */
    ul.MenuBarVertical a
    display: block;
    cursor: pointer;
    background-color: none;
    padding: 0.5em 0.75em;
    color: #FFFFCC;
    text-decoration: none;
    font-family: Georgia, "Times New Roman", Times, serif;
    }

  • About the thread safe variable

    Hello,
    I have make 2 projects, the first is using to initialize the enviroument an  loading  some modules, and the 2nd using to execute a special work. In the first project, I use the DeclareThreadSafeScalarVar macro to define the handle of a file, I think the file handle can be shared between 2 processes, and each process can access data by the file handle.It is worth mentioning that the 2nd process loading is by the CreateProcess() API. My question is : if the safe variable is initialized in the first process, can I use the safe variable in the second process? Do I need to reinitialize the safe variable in the 2nd process? Thanks.
    David

    David,
    Thread safe variables are only going to work for threads within the same process. Windows does not allow you to access memory outside of the virtual space of your application. Thus the processes act as if they are unaware of each other's data. Even if you send a pointer to the other application, it will not be able to access the data. There are a few other options for interapplication communication.
    1. When you are calling CreateProcess() you can pass the new process some command line arguments. If the data you want to send can be serialized, then you can pass it to the other application at start using this command.
    2. You can pass the data using WM_COPYDATA which allows you to set up a special structure and send it to the other application. This is similar to what you wanted to do with the thread safe variables, except that this data will be read only and must be sent to the other process using something like SendMessage(). This gets quite a bit more complicated.
    3. You can set up a client server architecture and have all of the data management handled by the server process.
    From what you have said about your application so far, it may be simpler to just create a single process with two threads. If the applications are dependent on each other, then they likely need to be part of the same process.
    National Instruments
    Product Support Engineer

Maybe you are looking for